public async Task CreateReviewProposition(string email, ReviewPropositionCreationDto reviewPropositionDto) { var user = await _userManager.FindByEmailAsync(email); using (IUnitOfWork unitOfWork = _unitOfWorkFactory.Create()) { var reviewProposition = unitOfWork.Repository <ReviewProposition>(); var review = reviewProposition.Find(r => r.OrderId == reviewPropositionDto.OrderId && r.MechanicId == user.Id); if (review != null) { return; } reviewProposition.Add(new ReviewProposition { MechanicId = user.Id, OrderId = reviewPropositionDto.OrderId, Comment = reviewPropositionDto.ReviewComment, Price = reviewPropositionDto.ReviewPrice, Date = DateTime.Now.ToUniversalTime() }); unitOfWork.Save(); } }
public async Task <IActionResult> CreateReviewProposition([FromBody] ReviewPropositionCreationDto reviewPropositionDto) { if (!ModelState.IsValid) { return(BadRequest()); } string email = User.Identity.Name; await _orderService.CreateReviewProposition(email, reviewPropositionDto); return(Ok()); }