public CreateOfferRatingDto Insert(CreateOfferRatingDto rateDto) { if (rateDto == null) { throw new ArgumentNullException(); } var ReserveOffer = TheUnitOfWork.ReserveOfferRepo.GetById(rateDto.ReserveOfferId); var doctorOffer = TheUnitOfWork.MakeOfferRepo.GetById(ReserveOffer.MakeOfferId); doctorOffer.CountOfRating++; doctorOffer.SumOfRating += rateDto.Rate; doctorOffer.AverageRate = doctorOffer.SumOfRating / doctorOffer.CountOfRating; TheUnitOfWork.MakeOfferRepo.Update(doctorOffer); ReserveOffer.IsRated = true; TheUnitOfWork.ReserveOfferRepo.Update(ReserveOffer); rateDto.MakeOfferId = ReserveOffer.MakeOfferId; OfferRating Rate = Mapper.Map <OfferRating>(rateDto); TheUnitOfWork.OfferRatingRepo.Insert(Rate); TheUnitOfWork.SaveChanges(); return(rateDto); }
public IActionResult Create(CreateOfferRatingDto rateDto) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } try { var UserId = _httpContextAccessor.HttpContext.User.FindFirst(ClaimTypes.NameIdentifier).Value; rateDto.UserId = UserId; var result = _offerRatingAppService.Insert(rateDto); _generalAppService.CommitTransaction(); return(Ok(result)); } catch (Exception ex) { _generalAppService.RollbackTransaction(); return(BadRequest(new Response { Message = ex.Message })); } }