Пример #1
0
        public PageReturnModel GetDataAll(PageModelParameter model)
        {
            string msgError = "";

            try
            {
                var dt = _dbHelper.ExecuteSProcedureReturnDataTable(out msgError, "sp_page_search",
                                                                    "@page_index", model.Page?.PageIndex,
                                                                    "@page_size", model.Page?.PageSize,
                                                                    "@tenpage", model.Data.Page_Name);
                var result = new PageReturnModel();
                if (!string.IsNullOrEmpty(msgError))
                {
                    throw new Exception(msgError);
                }
                else
                {
                    result.Data     = dt.ConvertTo <PageModel>().ToList();
                    result.TotalRow = int.Parse(dt.Rows[0].ItemArray[dt.Rows[0].ItemArray.Length - 1].ToString());
                }
                return(result);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Пример #2
0
        public IActionResult GetProductsGroupedBy([FromQuery] int page, [FromQuery] int count)
        {
            var productsGroup      = _unitOfWork.ProductsRepository.GroupBy(p => p.Type, page, count);
            var productsGroupCount = _unitOfWork.ProductsRepository.GroupCount(p => p.Type);
            var pageReturnModel    = new PageReturnModel <GroupModel <string> >
            {
                Items       = productsGroup,
                TotalCount  = productsGroupCount,
                CurrentPage = page
            };

            return(Ok(pageReturnModel));
        }
Пример #3
0
        public async Task <IActionResult> GetProducts([FromQuery] int page, [FromQuery] int count, [FromQuery] string type, [FromQuery] string name, [FromQuery] bool isFullMatch)
        {
            var filters = new List <Expression <Func <Product, bool> > >();

            if (type != null)
            {
                if (isFullMatch) // if true = search as a full match
                {
                    filters.Add(p => p.Type == type);
                }
                else
                {
                    filters.Add(p => p.Type.Contains(type));
                }
            }

            if (name != null)
            {
                if (isFullMatch) // if true = search as a full match
                {
                    filters.Add(p => p.Name == name);
                }
                else
                {
                    filters.Add(p => p.Name.Contains(name));
                }
            }


            var products = await _unitOfWork.ProductsRepository.GetPagedAsync(filters : filters, orderBy : p => p.Date, count : count, page : page);

            var productsCount = await _unitOfWork.ProductsRepository.CountAsync(filters : filters);

            var pageReturnModel = new PageReturnModel <ProductDTO>
            {
                Items       = _mapper.Map <IEnumerable <ProductDTO> >(products),
                TotalCount  = productsCount,
                CurrentPage = page
            };

            return(Ok(pageReturnModel));
        }