Пример #1
0
        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());
        }
Пример #2
0
        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());
        }