示例#1
0
        public IItemsData getItemsByCategory(ItemCategory category, int countOnPage, int page)
        {
            DAL.Entities.ItemCategory assembledCategory = Assembler.Assemble(category);

            IEnumerable <DAL.Entities.Item> found = repository.ItemRepository.
                                                    GetAll().Where(item => item.Category == assembledCategory).
                                                    OrderByDescending(item => item.AddingTime).
                                                    Skip((page - 1) * countOnPage).
                                                    Take(countOnPage).
                                                    Include(item => item.Names).
                                                    ToList();

            IEnumerable <IItem> items = Assembler.Assemble(found.ToList());

            int itemsTotalCount = repository.ItemRepository.GetAll().Where(item => item.Category == assembledCategory).Count();

            return(new ItemsData(itemsTotalCount, items));
        }
示例#2
0
        private static ItemCategory Assemble(DAL.Entities.ItemCategory itemCategory)
        {
            ItemCategory result;

            switch (itemCategory)
            {
            case DAL.Entities.ItemCategory.Notepad:
                result = ItemCategory.Notepad;
                break;

            case DAL.Entities.ItemCategory.Pen:
                result = ItemCategory.Pen;
                break;

            default:
                ThrowAssemblingException("NotepadShop.BLL.Entities.ItemCategory");
                result = ItemCategory.Notepad;
                break;
            }

            return(result);
        }