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