public async void LoadPackages(bool logOutput = false)
{
Loading = true;
try
{
IQueryable<V2FeedPackage> packages = (await _localService.GetPackages(logOutput)).AsQueryable();
if (!string.IsNullOrWhiteSpace(SearchQuery))
{
if(Match)
packages = packages.Where(package => string.Compare((package.Title ?? package.Id), SearchQuery, true) == 0);
else
packages = packages.Where(package => CultureInfo.CurrentCulture.CompareInfo.IndexOf((package.Title ?? package.Id), SearchQuery, CompareOptions.OrdinalIgnoreCase) >= 0);
}
var packagesList = packages.Select(package =>
App.Kernel.Get<PackageViewModel>(new ConstructorArgument("feedPackage", package)))
.ToList();
Packages.Clear();
packagesList.ForEach(Packages.Add);
}
finally
{
Loading = false;
}
IsLoaded = true;
}
}