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); }
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); }