Example #1
0
        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;
            }
        }
Example #2
0
        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);
        }