public async Task <IActionResult> AcceptQuoteItems(long?id, string role, string quoteNumber, [FromBody] List <QuoteItem> quoteItems) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var quote = await _context.Quote.SingleOrDefaultAsync(m => m.QuoteNumber == quoteNumber); if (quote == null) { return(NotFound()); } var nextStatus = StaticItems.GetNextStatus(quote.QuoteStatusLevelID, quote.QuoteStatusResultID); quote.QuoteStatusLevelID = nextStatus.Item1; quote.QuoteStatusResultID = nextStatus.Item2; quote.WinLossDateTime = DateTime.Now; quote.WinLossUserID = (int)id.Value; _context.Entry(quote).State = EntityState.Modified; foreach (var quoteItem in quoteItems) { _context.Entry(quoteItem).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!QuoteItemExists(quoteItem.QuoteItemID)) { return(NotFound()); } else { throw; } } } return(Ok(new { success = true }));// CreatedAtAction("GetQuoteItem", new { id = quoteItem.QuoteItemID }, quoteItem); }
public async Task <IActionResult> PostQuoteItems(long?id, string role, string quoteNumber, [FromBody] List <QuoteItem> quoteItems) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var quote = await _context.Quote.SingleOrDefaultAsync(m => m.QuoteNumber == quoteNumber); if (quote == null) { return(NotFound()); } var nextStatus = StaticItems.GetNextStatus(quote.QuoteStatusLevelID, quote.QuoteStatusResultID); quote.QuoteStatusLevelID = nextStatus.Item1; quote.QuoteStatusResultID = nextStatus.Item2; switch (role) { case "RSM": if (quote.QuoteStatusResultID == 14) { quote.WinLossUserID = (int)id.Value; quote.WinLossDateTime = DateTime.Now; } break; case "PM": quote.PMActualApprovedByUserID = (int)id.Value; quote.PMApprovedByUserID = (int)id.Value; quote.PMApprovedDateTime = DateTime.Now; break; case "POE": quote.PEActualApprovedByUserId = (int)id.Value; quote.PEApprovedByUserId = (int)id.Value; quote.PEApprovedDateTime = DateTime.Now; break; case "VP FINANCE": quote.VPFinanceActualApprovedByUserID = (int)id.Value; quote.VPFinanceApprovedByUserID = (int)id.Value; quote.VPFinanceApprovedDateTime = DateTime.Now; break; } _context.Entry(quote).State = EntityState.Modified; foreach (var quoteItem in quoteItems) { if (role == "PM") { quoteItem.WinNetPrice = quoteItem.PMApprovedPrice; quoteItem.WinQuantity = quoteItem.RequestedQuantity; } _context.Entry(quoteItem).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!QuoteItemExists(quoteItem.QuoteItemID)) { return(NotFound()); } else { throw; } } } //API CALL ToDo if (role == "PM") { string pmApprovaluri = "https://wyunsq1ccf.execute-api.us-east-1.amazonaws.com/respond/approve?taskToken=" + quote.Token + ""eid=" + quote.QuoteID; string output = DoAPICallToApprove(pmApprovaluri); } return(Ok(new { success = true }));// CreatedAtAction("GetQuoteItem", new { id = quoteItem.QuoteItemID }, quoteItem); }