public async Task <ActionResult> ProcessPaperReferrals(string fileId, ProcessPaperReferralsRequest request) { var noneReferrals = request.Referrals.Where(r => r.Method != SupportMethod.Referral).ToArray(); if (noneReferrals.Any()) { return(BadRequest(new ProblemDetails { Status = (int)HttpStatusCode.BadRequest, Title = "Some supports delivery methods is not referrals", Detail = string.Join(',', noneReferrals.Select(r => $"{r.Category}-{r.SubCategory}")) })); } var userId = currentUserId; var referrals = mapper.Map <IEnumerable <EMBC.ESS.Shared.Contracts.Events.Support> >(request.Referrals); foreach (var referral in referrals) { referral.CreatedBy = new EMBC.ESS.Shared.Contracts.Events.TeamMember { Id = userId }; referral.CreatedOn = DateTime.UtcNow; } await messagingClient.Send(new ProcessPaperSupportsCommand { FileId = fileId, Supports = referrals, RequestingUserId = userId, }); return(Ok()); }
public async Task <ActionResult> ProcessPaperReferrals(string fileId, ProcessPaperReferralsRequest request) { var userId = currentUserId; var referrals = mapper.Map <IEnumerable <EMBC.ESS.Shared.Contracts.Events.Referral> >(request.Referrals); foreach (var referral in referrals) { referral.CreatedBy = new EMBC.ESS.Shared.Contracts.Events.TeamMember { Id = userId }; referral.CreatedOn = DateTime.UtcNow; } await messagingClient.Send(new ProcessPaperSupportsCommand { FileId = fileId, Supports = referrals, RequestingUserId = userId, }); return(Ok()); }