public decimal QueryTransactionsTotalCost(QueryTransactionsPreviewRequest queryTransactionsPreviewRequest) { var operationsQuery = QueryPurchaseOperations(); if (queryTransactionsPreviewRequest != null && queryTransactionsPreviewRequest.StartDate.HasValue) { var startDate = queryTransactionsPreviewRequest.StartDate.Value; operationsQuery = operationsQuery.Where(m => m.Date >= startDate); } if (queryTransactionsPreviewRequest != null && queryTransactionsPreviewRequest.EndDate.HasValue) { var endDate = queryTransactionsPreviewRequest.EndDate.Value; operationsQuery = operationsQuery.Where(m => m.Date <= endDate); } return(operationsQuery.Select(op => op.Cost).Sum()); }
public TransactionsPreviewResult ReadMaterialPurchasePreview(QueryTransactionsPreviewRequest queryTransactionsPreviewRequest) { var transactionsRequest = _mapper.Map <QueryTransactionsRequest>(queryTransactionsPreviewRequest); var transactions = _supplyQueryRepository.QueryTransactions(transactionsRequest).ToList(); var userIds = transactions.Select(r => r.ResponsibleUserId); var userViews = FetchUsers(userIds); foreach (var transaction in transactions) { transaction.ResponsibleUser = userViews?.Where(uv => uv.UserId == transaction.ResponsibleUserId).FirstOrDefault(); } return(new TransactionsPreviewResult() { TotalCost = _supplyQueryRepository.QueryTransactionsTotalCost(queryTransactionsPreviewRequest), Transactions = transactions.Select(t => new MaterialPurchasePreviewView() { Id = t.Id, Description = t.ResponsibleUser.FirstName + " " + t.ResponsibleUser.LastName + " purchased " + t.Capacity + " " + t.Material.Name + " for " + t.Cost, Cost = t.Cost }) }); }
public IHttpActionResult GetPreview([FromBody] QueryTransactionsPreviewRequest queryTransactionsPreviewRequest) { return(ApiOk(_supplyService.ReadMaterialPurchasePreview(queryTransactionsPreviewRequest))); }