public async Task <TResponse <PageResult <ProductModel> > > GetPaging(int userId, GetProductPageModel request, int permissionId) { try { var checkValid = await _userService.CheckPermission(userId, permissionId); if (checkValid.IsSuccess) { var result = await ReadOnlyRepository.QueryMultipleLFAsync <ProductModel, int>(string.Format(SqlQuery.PRODUCT_GET_BY_PAGING, request.ColumnOrder, request.SortDir.ToUpper()), new { Name = $"%{request.Name}%", Description = $"%{request.Description}%", request.ProductGroupId, request.ProductStatusId, request.ProductUnitId, request.ManufacturerId, request.CountryId, Skip = (request.Page - 1) * request.PageSize, Take = request.PageSize }); if (result.IsSuccess) { return(await Ok(new PageResult <ProductModel>(request.Page, request.PageSize, result.Data.Item2, result.Data.Item1))); } return(await Fail <PageResult <ProductModel> >(result.Message)); } return(await Fail <PageResult <ProductModel> >(checkValid.Message)); } catch (Exception exception) { return(await Fail <PageResult <ProductModel> >(exception)); } }
public async Task <ActionResult <PageResult <ProductModel> > > GetPaging([FromQuery] GetProductPageModel request) { return(Ok(await _productService.GetPaging(await GetUserId(), request, GetPermissionId()))); }