Exemplo n.º 1
0
        public async Task <BasePagingResponse <BrandResModel> > GetBrandsAsync(GetBrandsReqModel model)
        {
            var result = new BasePagingResponse <BrandResModel>();

            var query = _context.Brands.AsNoTracking();

            query = CommonFunctions.SortQuery(model, query);

            result.Total = await query.CountAsync();

            if (model.Page.HasValue && model.Page >= 0 && model.PageSize.HasValue && model.PageSize > 0)
            {
                query = query.Skip(model.PageSize.Value * (model.Page.Value - 1)).Take(model.PageSize.Value);
            }

            var brands = await query.ToListAsync();

            result.Items     = _mapper.Map <List <Brand>, List <BrandResModel> >(brands);
            result.Page      = model.Page;
            result.PageSize  = model.PageSize;
            result.TotalPage = (int)Math.Ceiling(result.Total / (double)result.PageSize);

            return(result);
        }
Exemplo n.º 2
0
 public async Task <BasePagingResponse <CategoryResModel> > GetBrands([FromQuery] GetBrandsReqModel model)
 {
     return(await _categoryService.GetCategoriesAsync(model));
 }
Exemplo n.º 3
0
        public async Task <BasePagingResponse <CategoryResModel> > GetCategoriesAsync(GetBrandsReqModel model)
        {
            var result = new BasePagingResponse <CategoryResModel>();

            var query = _context.Categories.AsNoTracking();

            query = CommonFunctions.SortQuery(model, query);

            result.Total = await query.CountAsync();

            if (model.Page.HasValue && model.Page >= 0 && model.PageSize.HasValue && model.PageSize > 0)
            {
                query = query.Skip(model.PageSize.Value * (model.Page.Value - 1)).Take(model.PageSize.Value);
            }

            var categories = await query.ToListAsync();

            // Get all parent categories
            var parentCategories = categories.Where(c => !c.ParentId.HasValue).ToList();

            result.Items = _mapper.Map <List <Category>, List <CategoryResModel> >(parentCategories);

            // Get all child categories
            foreach (var category in result.Items)
            {
                var childCategories = categories.Where(c => c.ParentId == category.Id).ToList();
                category.ChildCategories = _mapper.Map <List <Category>, List <ChildCategoryResModel> >(childCategories);
            }

            result.Page      = model.Page;
            result.PageSize  = model.PageSize;
            result.TotalPage = (int)Math.Ceiling(result.Total / (double)result.PageSize);

            return(result);
        }
Exemplo n.º 4
0
 public async Task <BasePagingResponse <BrandResModel> > GetBrands([FromQuery] GetBrandsReqModel model)
 {
     return(await _brandService.GetBrandsAsync(model));
 }