public DataSourceResult <MaterialPurchaseView> ReadTransactions(QueryTransactionsRequest queryTransactionsRequest) { var result = _supplyQueryRepository.QueryTransactions(queryTransactionsRequest).ToDataSourceResult(queryTransactionsRequest); var userIds = result.Data.Select(r => r.ResponsibleUserId); var userViews = FetchUsers(userIds); foreach (var transaction in result.Data) { transaction.ResponsibleUser = userViews?.Where(uv => uv.UserId == transaction.ResponsibleUserId).FirstOrDefault(); } return(result); }
public IQueryable <MaterialPurchaseView> QueryTransactions(QueryTransactionsRequest queryTransactionsRequest) { var operationsQuery = QueryPurchaseOperations(); if (queryTransactionsRequest != null && queryTransactionsRequest.StartDate.HasValue) { var startDate = queryTransactionsRequest.StartDate.Value; operationsQuery = operationsQuery.Where(m => m.Date >= startDate); } if (queryTransactionsRequest != null && queryTransactionsRequest.EndDate.HasValue) { var endDate = queryTransactionsRequest.EndDate.Value; operationsQuery = operationsQuery.Where(m => m.Date <= endDate); } return(operationsQuery); }
public IHttpActionResult GetDetailed([FromBody] QueryTransactionsRequest queryTransactionsRequest) { return(ApiOk(_supplyService.ReadTransactions(queryTransactionsRequest))); }