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)));
        }