public async Task <HttpResponseMessage> GetAllByUserSuperAdmin(HttpRequestMessage request, string column, bool isDesc, int page, int pageSize, [FromBody] FilterModelRequest filter) { Func <HttpResponseMessage> func = () => { var dataRequest = _requestService.GetAllRequestSuperAdmin(filter); var data = string.IsNullOrEmpty(column) ? dataRequest.Skip((page - 1) * pageSize).Take(pageSize) : dataRequest.OrderByField(column, isDesc).Skip((page - 1) * pageSize).Take(pageSize); var responseData = Mapper.Map <IEnumerable <Request>, IEnumerable <RequestViewModel> >(data); var paginationSet = new PaginationSet <RequestViewModel>() { Items = responseData, PageIndex = page, TotalRows = dataRequest.Count(), PageSize = pageSize }; return(request.CreateResponse(HttpStatusCode.OK, paginationSet)); }; return(await CreateHttpResponse(request, func)); }
public async Task <HttpResponseMessage> GetAllByUser(HttpRequestMessage request, string userId, string groupId, string column, bool isDesc, int page, int pageSize, [FromBody] FilterModelRequest filter) { Func <HttpResponseMessage> func = () => { if (string.IsNullOrEmpty(userId) || string.IsNullOrEmpty(groupId)) { return(request.CreateErrorResponse(HttpStatusCode.BadRequest, nameof(userId) + MessageSystem.NoValues + nameof(groupId) + MessageSystem.NoValues)); } //var model = _requestService.GetAllRequest(userId, groupId, filter); var model = _requestService.GetAllRequestByUser(userId, groupId); foreach (var item in model) { if (item.StatusRequest.Name == CommonConstants.StatusDelegation) { _requestService.CheckDataDelegationRequest(groupId, item); } } var dataRequest = _requestService.GetAllRequest(userId, groupId, filter); var data = string.IsNullOrEmpty(column) ? dataRequest.Skip((page - 1) * pageSize).Take(pageSize) : dataRequest.OrderByField(column, isDesc).Skip((page - 1) * pageSize).Take(pageSize); var responseData = Mapper.Map <IEnumerable <Request>, IEnumerable <RequestViewModel> >(data); var paginationSet = new PaginationSet <RequestViewModel>() { Items = responseData, PageIndex = page, TotalRows = dataRequest.Count(), PageSize = pageSize }; return(request.CreateResponse(HttpStatusCode.OK, paginationSet)); }; return(await CreateHttpResponse(request, func)); }