public ActionResult CreateFeedBack(CreateFeedBackViewModel createModel) { if (!ModelState.IsValid) { return(View(createModel)); } string senderId = User.Identity.GetUserId(); var createParams = new CreateFeedBackParams() { ReciverId = createModel.ReciverId, SenderId = senderId, JobId = createModel.JobId, Text = createModel.Text, QualityOfWork = (QualityOfWork)createModel.QualityOfWork }; _feedBackService.CreateFeedBack(createParams); _notificationService.CreateNotification(senderId, createModel.ReciverId, "You write a review"); _commitProvider.SaveChanges(); _notificationService.RefreshNotifications(createModel.ReciverId); return(RedirectToAction("Jobs", "Job")); }
public void CreateFeedBack(CreateFeedBackParams createParams) { var sender = _userManager.FindById(createParams.SenderId); if (sender == null) { throw new ObjectNotFoundException($"Sender with id={createParams.SenderId} not found"); } var reciver = _userManager.FindById(createParams.ReciverId); if (reciver == null) { throw new ObjectNotFoundException($"Reciver with id={createParams.ReciverId} not found"); } var job = _jobRepository.FindJobById(createParams.JobId); if (job == null) { throw new ObjectNotFoundException($"Job with id={createParams.JobId} not found"); } var feedBack = new FeedBack() { Sender = sender, Receiver = reciver, Job = job, Text = createParams.Text, QualityOfWork = createParams.QualityOfWork, AddedDate = DateTime.UtcNow }; _feedBackRepository.Create(feedBack); }