public static async Task <IActionResult> PostProposalConfirm( [HttpTrigger(AuthorizationLevel.Anonymous, "post", Route = "proposals/confirm")] ProposalConfirmedDto proposalConfirmedDto, HttpRequest req, TraceWriter log) { try { if (!proposalConfirmedDto.IsValid()) { return(new BadRequestResult()); } var authToken = req.Headers.ContainsKey(AuthTokenHeader) ? req.Headers[AuthTokenHeader][0] : string.Empty; var service = new BidMyTripService(log, new WorkBenchService()); var proposal = await service.ConfirmProposal(authToken, proposalConfirmedDto); return(new OkObjectResult(proposal)); } catch (Exception ex) { log.Error(ex.Message); throw; } }
internal async Task <ProposalDto> ConfirmProposal(string authToken, ProposalConfirmedDto proposalConfirmedDto) { var fullDb = await CacheService.GetFullDb(); var proposal = fullDb.First(p => p.ProposalId == proposalConfirmedDto.ProposalId); proposal.Status = Confirmed; var offer = proposal.Offers.First(o => o.OfferId == proposalConfirmedDto.OfferId); offer.Selected = true; await CacheService.UpdataDb(fullDb); if (useWorkBench) { await _workBenchService.RecordConfirm(authToken, proposal); } return(proposal); }