Example #1
0
        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;
            }
        }
Example #2
0
        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();
            }
        }
Example #3
0
        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);
        }
Example #4
0
        ///// <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);
            }
        }