Пример #1
0
 public static int getTotalItemsCount(List <FilterDescriptor> filterDescriptors)
 {
     CustomServerItemsProvider.sendItems = new List <Item>(100000);
     foreach (var item in CustomServerItemsProvider.items)
     {
         CustomServerItemsProvider.sendItems.Add(item);
     }
     return(CustomServerItemsProvider.onFiltering(filterDescriptors, null).Count);
 }
Пример #2
0
        public static List <Item> getItems(int?firstItem, int?itemsNumber, List <SortDescriptor> sortDescriptors, List <FilterDescriptor> filterDescriptors, List <FilterDescriptor> collapsedFilterDescriptors)
        {
            CustomServerItemsProvider.sendItems = new List <Item>(100000);
            foreach (var item in CustomServerItemsProvider.items)
            {
                CustomServerItemsProvider.sendItems.Add(item);
            }
            CustomServerItemsProvider.sortDescriptors = new List <SortDescriptor>();
            if (sortDescriptors != null)
            {
                CustomServerItemsProvider.sortDescriptors = sortDescriptors;
            }
            if (sortDescriptors[CustomServerItemsProvider.i].asc != null)
            {
                bool isOrderAsc = sortDescriptors[CustomServerItemsProvider.i].asc ?? false;
                switch (sortDescriptors[CustomServerItemsProvider.i].path)
                {
                case "Number":
                    if (isOrderAsc)
                    {
                        CustomServerItemsProvider.sendItems = CustomServerItemsProvider.sendItems.OrderBy(x => x.Number).ToList();
                    }
                    else
                    {
                        CustomServerItemsProvider.sendItems = CustomServerItemsProvider.sendItems.OrderByDescending(x => x.Number).ToList();
                    }
                    break;

                case "PictureName":
                    if (isOrderAsc)
                    {
                        CustomServerItemsProvider.sendItems = CustomServerItemsProvider.sendItems.OrderBy(x => x.PictureName).ToList();
                    }
                    else
                    {
                        CustomServerItemsProvider.sendItems = CustomServerItemsProvider.sendItems.OrderByDescending(x => x.PictureName).ToList();
                    }
                    break;

                case "Brand":
                    if (isOrderAsc)
                    {
                        CustomServerItemsProvider.sendItems = CustomServerItemsProvider.sendItems.OrderBy(x => x.Brand).ToList();
                    }
                    else
                    {
                        CustomServerItemsProvider.sendItems = CustomServerItemsProvider.sendItems.OrderByDescending(x => x.Brand).ToList();
                    }
                    break;

                case "Type":
                    if (isOrderAsc)
                    {
                        CustomServerItemsProvider.sendItems = CustomServerItemsProvider.sendItems.OrderBy(x => x.Type).ToList();
                    }
                    else
                    {
                        CustomServerItemsProvider.sendItems = CustomServerItemsProvider.sendItems.OrderByDescending(x => x.Type).ToList();
                    }
                    break;

                case "Year":
                    if (isOrderAsc)
                    {
                        CustomServerItemsProvider.sendItems = CustomServerItemsProvider.sendItems.OrderBy(x => x.Year).ToList();
                    }
                    else
                    {
                        CustomServerItemsProvider.sendItems = CustomServerItemsProvider.sendItems.OrderByDescending(x => x.Year).ToList();
                    }
                    break;

                case "EnginePower":
                    if (isOrderAsc)
                    {
                        CustomServerItemsProvider.sendItems = CustomServerItemsProvider.sendItems.OrderBy(x => x.EnginePower).ToList();
                    }
                    else
                    {
                        CustomServerItemsProvider.sendItems = CustomServerItemsProvider.sendItems.OrderByDescending(x => x.EnginePower).ToList();
                    }
                    break;

                case "Cabin":
                    if (isOrderAsc)
                    {
                        CustomServerItemsProvider.sendItems = CustomServerItemsProvider.sendItems.OrderBy(x => x.Cabin).ToList();
                    }
                    else
                    {
                        CustomServerItemsProvider.sendItems = CustomServerItemsProvider.sendItems.OrderByDescending(x => x.Cabin).ToList();
                    }
                    break;
                }
            }
            CustomServerItemsProvider.sendItems = CustomServerItemsProvider.onFiltering(filterDescriptors, collapsedFilterDescriptors).Skip(firstItem ?? 0).ToList().Take(itemsNumber ?? 0).ToList();
            //CustomServerItemsProvider.sendItems = CustomServerItemsProvider.sendItems.Skip(firstItem ?? 0).ToList().Take(itemsNumber ?? 0).ToList();
            return(CustomServerItemsProvider.sendItems);
        }