public ActionResult UpdateEmailOfferConfirmation(string GUId, [FromBody] PUTEmailOfferConfirmationDTO emailOfferDTO) { var offers = _choiceRepository.GetEmailOfferRelated().Where(x => x.GUId == GUId).ToList(); int rejectedOffersCount = 0; foreach (EmailOfferDTO Eoffer in offers) { if (Eoffer.Approve != null && Eoffer.Approve.Value) { ModelState.AddModelError("EmailOffer", $"Already Winner selected for this Offer"); return(BadRequest(ModelState)); } else if (Eoffer.Reject != null && Eoffer.Reject.Value) { rejectedOffersCount += 1; } } if (offers.Count == rejectedOffersCount) { ModelState.AddModelError("EmailOffer", $"All Procedures are rejected for this Offer"); return(BadRequest(ModelState)); } var offerInDB = _choiceRepository.GetById <EmailOffer>(x => x.ProcedureId == emailOfferDTO.ProcedureId); if (offerInDB.Reject != null && offerInDB.Reject.Value) { ModelState.AddModelError("EmailOffer", $"this Procedurs is already rejected for this Offer"); return(BadRequest(ModelState)); } if (offerInDB == null) { ModelState.AddModelError("EmailOffer", $"All Procedure not found in DB"); return(BadRequest(ModelState)); } offerInDB.Approve = emailOfferDTO.Approve; offerInDB.Reject = emailOfferDTO.Reject; offerInDB.LastModified = DateTime.UtcNow; offerInDB.LastModifiedBy = emailOfferDTO.LastModifiedBy; _choiceRepository.Attach(offerInDB); _choiceRepository.Complete(); return(NoContent()); }
public ActionResult UpdateEmailOffer(int ProcedureId, [FromBody] PUTEmailOfferConfirmationDTO emailOfferDTO) { var offerInDB = _choiceRepository.GetById <EmailOffer>(x => x.ProcedureId == ProcedureId); if (offerInDB == null) { ModelState.AddModelError("EmailOffer", $"All Procedure not found in DB"); return(BadRequest(ModelState)); } offerInDB.Approve = emailOfferDTO.Approve; offerInDB.Reject = emailOfferDTO.Reject; offerInDB.LastModified = DateTime.UtcNow; offerInDB.LastModifiedBy = emailOfferDTO.LastModifiedBy; _choiceRepository.Attach(offerInDB); _choiceRepository.Complete(); return(NoContent()); }