private async void OnSelectedItem() { ProgressTask progress = null; try { progress = new ProgressTask(); progress.Show(); Orders.Clear(); List <byte> statuses = null; string[] customers = null; string[] cities = null; if (!string.IsNullOrEmpty(SelectedStatusItems)) { statuses = SelectedStatusItems.Split(',').ToList().Select(st => Convert.ToByte(st)).ToList(); } if (!string.IsNullOrEmpty(SelectedCustomers)) { customers = SelectedCustomers.Split(','); } if (!string.IsNullOrEmpty(SelectedCities)) { cities = SelectedCities.Split(','); } if (customers != null && customers.Length > 0 && customers.Length < Customers.Count) { _orderFilter.Customers.AddRange(customers); } if (cities != null && cities.Length > 0 && cities.Length < Cities.Count) { _orderFilter.Cities.AddRange(cities); } if (statuses != null && statuses.Count > 0 && statuses.Count < OrderStatusItems.Count) { _orderFilter.OrderStatuses.AddRange(statuses); } var orders = await _orderFilter.GetOrdersAsync(DateFrom, DateTo); _orderFilter.Dispose(); orders.ForEach(or => Orders.Add(or)); progress?.Close(); } catch (Exception) { progress?.Close(); throw; } }
public void FilterResult() { SelectedMonthCollection = new ObservableCollection <string>(); SelectedSales = AllSales.Where(x => SelectedStateCollection.Contains(x.State) && x.Country.Contains(SelectedCountry.CountryName) && x.Year.Equals(SelectedYear)).ToList(); if (SelectedMonth != null) { SelectedSales = SelectedSales.Where(x => x.Month.Equals(SelectedMonth)).ToList(); } if (SelectedCities != null) { SelectedSales = SelectedSales.Where(sale => SelectedCities.Select(r => r.Name).Contains(sale.City)).ToList(); } }
public IEnumerable <SelectListItem> GetCities() { var list = Cities?.Select(c => new SelectListItem { Value = c.Id.ToString(), Text = $"{c.Name} ({c.Country.Code2})", Selected = SelectedCities != null && SelectedCities.Contains(c.Id) }).ToList() ?? new List <SelectListItem>(); if (list.Any()) { list.Insert(0, new SelectListItem { Value = "0", Text = "All" }); } return(list); }
///// <summary> ///// Dictionary for ISO codes for territories. We may be able to set codes for all ///// territories, but the intent for now is to have it for countries only. ///// Key: Id of TerritoryInternalRecord ///// Value: Alpha-2 ISO 3166-1 code ///// </summary> //public IDictionary<int, string> TerritoryISOCode { get; set; } public void InitializeTerritories() { TopLevel = CountriesHierarchy.TopLevel // Create the top level and recursively create the whole hierarchy .Select(ci => { var tp = ci.As <TerritoryPart>(); return(tp != null ? new AddressConfigurationTerritoryViewModel( tp, SelectedCountries, SelectedProvinces, SelectedCities) : null); }) // remove nulls (sanity check) .Where(tvm => tvm != null); // Initialize the dictionaries we'll use to edit the configuration TerritoryTypeMap = new Dictionary <int, TerritoryAdministrativeType>(); foreach (var territory in CountriesHierarchy.Record.Territories) { var tType = TerritoryAdministrativeType.None; var internalId = territory.TerritoryInternalRecord.Id; if (SelectedCountries.Contains(internalId)) { tType = TerritoryAdministrativeType.Country; } else if (SelectedProvinces.Contains(internalId)) { tType = TerritoryAdministrativeType.Province; } else if (SelectedCities.Contains(internalId)) { tType = TerritoryAdministrativeType.City; } TerritoryTypeMap.Add(internalId, tType); //var iso = CountryCodes // // default is a struct with ISOCode = null // .FirstOrDefault(cc => cc.TerritoryId == internalId) // .ISOCode ?? string.Empty; //TerritoryISOCode.Add(internalId, iso); } }