Beispiel #1
0
        /// <inheritdoc />
        public async Task <GoodPagingDomainModel> GetAllGoodsAsync(PageCategoryModel pageCategoryModel)
        {
            _logger.Info($"Retrieving collection of good items that belong category's id: {pageCategoryModel.CategoryId}.");
            var storeCategory = await this._categoryService.GetCategoryByIdAltAsync(pageCategoryModel.CategoryId);

            var goodsToCount = storeCategory.Children
                               .Flatten(c => c.Children)
                               .SelectMany(c => c.Goods)
                               .Concat(storeCategory.Goods);

            _logger.Info("Counting number of goods has been placed into database.");
            var totalItems = goodsToCount.Count();

            var goods = goodsToCount
                        .OrderBy(g => g.Id)
                        .Skip((pageCategoryModel.CurrentPage - 1) * pageCategoryModel.ItemsPerPage)
                        .Take(pageCategoryModel.ItemsPerPage);

            var goodDomainModels = goods.Select(good => this._mapper.Map <GoodDomainModel>(good));

            var pagingDomainModel = new PagingDomainModel
            {
                CurrentPage  = pageCategoryModel.CurrentPage,
                ItemsPerPage = pageCategoryModel.ItemsPerPage,
                TotalItems   = totalItems
            };

            return(new GoodPagingDomainModel
            {
                Goods = goodDomainModels,
                PageInfo = pagingDomainModel
            });
        }
 public IActionResult add()
 {
     try
     {
         PageCategoryModel pageCategoryModel = new PageCategoryModel();
         return(View(pageCategoryModel));
     }
     catch (Exception ex)
     {
         AlertHelper.setMessage(this, ex.Message, messageType.error);
         return(RedirectToAction("index"));
     }
 }
 public IActionResult edit(long page_category_id)
 {
     try
     {
         PageCategory      pageCategory      = _pageCategoryRepo.getById(page_category_id);
         PageCategoryModel pageCategoryModel = _mapper.Map <PageCategoryModel>(pageCategory);
         return(View(pageCategoryModel));
     }
     catch (Exception ex)
     {
         AlertHelper.setMessage(this, ex.Message, messageType.error);
         return(RedirectToAction("index"));
     }
 }
 public IActionResult edit(PageCategoryModel model)
 {
     try
     {
         if (ModelState.IsValid)
         {
             PageCategoryDto pageCategoryDto = new PageCategoryDto()
             {
                 page_category_id = model.page_category_id,
                 name             = model.name,
             };
             _pageCategoryService.update(pageCategoryDto);
             return(RedirectToAction("index"));
         }
     }
     catch (Exception ex)
     {
         AlertHelper.setMessage(this, ex.Message, messageType.error);
     }
     return(View(model));
 }
        public IActionResult add(PageCategoryModel model)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    PageCategoryDto pageCategoryDto = new PageCategoryDto()
                    {
                        name       = model.name,
                        is_enabled = model.is_enabled,
                    };
                    _pageCategoryService.save(pageCategoryDto);
                    AlertHelper.setMessage(this, "Page Category saved successfully.", messageType.success);
                    return(RedirectToAction("index"));
                }
            }
            catch (Exception ex)
            {
                AlertHelper.setMessage(this, ex.Message, messageType.error);
            }

            return(View(model));
        }
Beispiel #6
0
        public async Task <IHttpActionResult> Get(int currentPage, int itemsPerPage, string categoryId)
        {
            PageCategoryModel pageCategoryModel = new PageCategoryModel
            {
                CurrentPage  = currentPage,
                ItemsPerPage = itemsPerPage,
                CategoryId   = categoryId
            };

            try
            {
                // Validating instance of type PageCategoryModel.
                this._pageCategoryModelValidator.ValidateAndThrow(pageCategoryModel);
            }
            catch (ValidationException ex)
            {
                _logger.Info(ex, ex.ToString());
                return(this.BadRequest());
            }

            _logger.Info("Getting all goods that are stored in database.");
            GoodPagingDomainModel goodPagingDomainModels;

            try
            {
                goodPagingDomainModels = await this._goodService.GetAllGoodsAsync(pageCategoryModel);
            }
            catch (Exception ex)
            {
                _logger.Error(ex, ex.ToString());
                return(this.InternalServerError());
            }

            _logger.Info("All goods have successfully been retrieved.");
            return(this.Ok(goodPagingDomainModels));
        }