public async Task <ActionResult <ReferralPrintRequestResponse> > ProcessSupports(string fileId, ProcessDigitalSupportsRequest request) { var noDeliveryMethod = request.Supports.Where(s => s.Method == SupportMethod.Unknown).ToArray(); if (noDeliveryMethod.Any()) { return(BadRequest(new ProblemDetails { Status = (int)HttpStatusCode.BadRequest, Title = "Some supports delivery methods are not defined", Detail = string.Join(',', noDeliveryMethod.Select(r => $"{r.Category}-{r.SubCategory}")) })); } var userId = currentUserId; var mappedSupports = mapper.Map <IEnumerable <EMBC.ESS.Shared.Contracts.Events.Support> >(request.Supports); foreach (var support in mappedSupports) { support.CreatedBy = new EMBC.ESS.Shared.Contracts.Events.TeamMember { Id = userId }; support.IssuedBy = new EMBC.ESS.Shared.Contracts.Events.TeamMember { Id = userId }; support.CreatedOn = DateTime.UtcNow; support.IssuedOn = support.CreatedOn; } var printRequestId = await messagingClient.Send(new ProcessSupportsCommand { FileId = fileId, Supports = mappedSupports, RequestingUserId = userId, IncludeSummaryInReferralsPrintout = request.IncludeSummaryInPrintRequest }); return(Ok(new ReferralPrintRequestResponse { PrintRequestId = printRequestId })); }
public async Task <ActionResult <ReferralPrintRequestResponse> > ProcessSupports(string fileId, ProcessDigitalSupportsRequest request) { var userId = currentUserId; var mappedSupports = mapper.Map <IEnumerable <EMBC.ESS.Shared.Contracts.Events.Support> >(request.Supports); foreach (var support in mappedSupports) { support.CreatedBy = new EMBC.ESS.Shared.Contracts.Events.TeamMember { Id = userId }; support.IssuedBy = new EMBC.ESS.Shared.Contracts.Events.TeamMember { Id = userId }; support.CreatedOn = DateTime.UtcNow; support.IssuedOn = support.CreatedOn; } var printRequestId = await messagingClient.Send(new ProcessSupportsCommand { FileId = fileId, Supports = mappedSupports, RequestingUserId = userId, IncludeSummaryInReferralsPrintout = request.IncludeSummaryInPrintRequest }); return(Ok(new ReferralPrintRequestResponse { PrintRequestId = printRequestId })); }