public async Task LeaveFeedback(InterviewerFeedbackBindingModel model, ClaimsPrincipal user) { var interview = await this.DbContext .InterviewInterviewers .Where(i => i.InterviewId == model.InterviewId) .ToListAsync(); var currernUserId = this.userManager.GetUserId(user); var isInterviewer = interview.FirstOrDefault(i => i.InterviewerId == currernUserId); if (isInterviewer == null) { throw new InvalidOperationException(); } var feedback = new Feedback() { InterviewId = model.InterviewId, InterviewerId = currernUserId, Context = model.Context, Score = model.Score }; await this.DbContext.Feedbacks.AddAsync(feedback); await this.DbContext.SaveChangesAsync(); }
public async Task <IActionResult> LeaveFeedback(InterviewerFeedbackBindingModel model) { if (!ModelState.IsValid) { return(View(model)); } await this.feedbacks.LeaveFeedback(model, this.User); TempData.AddSuccessMessage(LeaveFeedbackMessage); return(RedirectToAction(nameof(Index))); }