public ActionResult EditReview(ReviewSubmitionViewModel model, string Submit) { _logger.Log("Nomination-EditReview-POST"); var currentNomination = _nominationService.GetNomination(model.NominationId); var customDate = _customDateService.GetCustomDate(currentNomination.AwardId); var alreadyReviewed = _encourageDatabaseContext.Query <Review>().FirstOrDefault(r => r.ReviewerId == model.ReviewerId && r.NominationId == model.NominationId); var previousComments = _encourageDatabaseContext.Query <ReviewerComment>().Where(r => r.ReviewerId == model.ReviewerId && r.NominationId == model.NominationId).ToList(); foreach (var previousComment in previousComments) { _encourageDatabaseContext.Delete <ReviewerComment>(previousComment); } if (alreadyReviewed != null) { _encourageDatabaseContext.Delete <Review>(alreadyReviewed); _encourageDatabaseContext.SaveChanges(); } var review = new Review(); review.NominationId = model.NominationId; review.ReviewerId = model.ReviewerId; review.ReviewDate = customDate; if (!string.IsNullOrEmpty(Submit) && Submit == "Submit") { review.IsSubmited = true; } if (!string.IsNullOrEmpty(Submit) && Submit == "Save Draft") { review.IsSubmited = false; } if (!string.IsNullOrEmpty(Submit) && Submit != "Discard Review") { _nominationService.AddReviewForCurrentNomination(review); foreach (var item in model.Comments) { var revrComment = new ReviewerComment() { NominationId = model.NominationId, ReviewerId = model.ReviewerId, CriteriaId = item.CriteriaId, Comment = item.Comment != null ? item.Comment : "", Credit = Convert.ToInt32(item.Credit), ReviewId = review.Id }; _nominationService.AddReviewerCommentsForCurrentNomination(revrComment); } if (review.IsSubmited == true) { _nominationService.UpdateFinalScore(model.NominationId); } } return(RedirectToAction("Index", "Home")); }
public ActionResult EditReview(int nominationId, string details) { _logger.Log("Nomination-EditReview"); int totalCredit = 0; var result = _nominationService.GetReviewNomination(nominationId); var userEmailAddress = User.Identity.Name; var reviewerId = _nominationService.GetReviewerIdOfCurrentNomination(userEmailAddress); var reviewerComments = _encourageDatabaseContext.Query <ReviewerComment>().Where(rc => rc.NominationId == nominationId && rc.ReviewerId == reviewerId); var reviewNominationViewModel = new ReviewSubmitionViewModel() { ManagerComments = _nominationService.GetManagerCommentsForNomination(nominationId), Manager = _nominationService.GetManagerNameOfCurrentNomination(nominationId), NomineeName = _nominationService.GetNomineeNameOfCurrentNomination(nominationId), ProjectOrDepartment = _nominationService.GetProjectNameOfCurrentNomination(nominationId), Criterias = _nominationService.GetCriteriaForNomination(nominationId), ReviewerId = reviewerId, NominationId = result.Id, ManagerComment = result.Comment }; foreach (var item in reviewerComments) { reviewNominationViewModel.Comments.Add( new ReviewerCommentViewModel() { CriteriaId = item.CriteriaId, Comment = item.Comment, Credit = Convert.ToInt32(item.Credit), Id = item.Id, }); if (item.Credit == 1) { totalCredit = totalCredit + Convert.ToInt32(item.Credit); } } reviewNominationViewModel.TotalCredit = totalCredit; if (details == "Details") { return(View("ReviewDetails", reviewNominationViewModel)); } return(View(reviewNominationViewModel)); }
public ActionResult ReviewNomination(int nominationId) { _logger.Log("Nomination-ReviewNomination-GET"); var result = _nominationService.GetReviewNomination(nominationId); var userEmailAddress = User.Identity.Name; var projectOrDept = string.Empty; if (result.ProjectID != null) { projectOrDept = _nominationService.GetProjectNameOfCurrentNomination(nominationId); } else if (result.DepartmentId != null) { projectOrDept = _nominationService.GetDeptNameOfCurrentNomination(nominationId); } var lockedAwards = _reviewService.GetReviewLockStatus(); var isLocked = false; var awardOfCurrentNomination = _awardService.GetAwardFromNominationId(nominationId); foreach (var lockedAward in lockedAwards) { if (lockedAward.Id == awardOfCurrentNomination.Id) { isLocked = true; } } var reviewNominationViewModel = new ReviewSubmitionViewModel() { ManagerComments = _nominationService.GetManagerCommentsForNomination(nominationId), Manager = _nominationService.GetManagerNameOfCurrentNomination(nominationId), NomineeName = _nominationService.GetNomineeNameOfCurrentNomination(nominationId), ProjectOrDepartment = projectOrDept, Criterias = _nominationService.GetCriteriaForNomination(nominationId), ReviewerId = _nominationService.GetReviewerIdOfCurrentNomination(userEmailAddress), NominationId = result.Id, ManagerComment = result.Comment, IsLocked = isLocked }; return(View(reviewNominationViewModel)); }
public ActionResult ReviewDetails(int nominationId) { _logger.Log("Nomination-ReviewDetails"); var allSubmittedReviewForCurrentNomination = _nominationService.GetAllSubmitedReviewsForCurrentNomination(nominationId); var result = _nominationService.GetReviewNomination(nominationId); var userEmailAddress = User.Identity.Name; var reviewerId = _nominationService.GetReviewerIdOfCurrentNomination(userEmailAddress); var listOfAllSubmittedRevierComments = new List <List <ReviewerComment> >(); foreach (var submittedreview in allSubmittedReviewForCurrentNomination) { var reviewerComments = _encourageDatabaseContext.Query <ReviewerComment>().Where(rc => rc.NominationId == nominationId && rc.ReviewerId == submittedreview.ReviewerId).ToList(); listOfAllSubmittedRevierComments.Add(reviewerComments); } var listOfReviewSubmitionViewModel = new List <ReviewSubmitionViewModel>(); foreach (var item in listOfAllSubmittedRevierComments) { var reviewNominationViewModel = new ReviewSubmitionViewModel() { ManagerComments = _nominationService.GetManagerCommentsForNomination(nominationId), Manager = _nominationService.GetManagerNameOfCurrentNomination(nominationId), NomineeName = _nominationService.GetNomineeNameOfCurrentNomination(nominationId), ProjectOrDepartment = _nominationService.GetProjectNameOfCurrentNomination(nominationId), Criterias = _nominationService.GetCriteriaForNomination(nominationId), ReviewerId = reviewerId, NominationId = result.Id, ManagerComment = result.Comment }; foreach (var d in item) { var reviewerName = string.Empty; var reviewer = _encourageDatabaseContext.Query <Reviewer>().FirstOrDefault(r => r.Id == d.ReviewerId); if (reviewer != null) { var user = _commonDbContext.Query <User>().FirstOrDefault(u => u.ID == reviewer.UserId); if (user != null) { reviewerName = user.DisplayName; } } reviewNominationViewModel.Comments.Add( new ReviewerCommentViewModel { CriteriaId = d.CriteriaId, Comment = d.Comment, Credit = Convert.ToInt32(d.Credit), Id = d.Id, ReviewerName = reviewerName }); if (d.Credit == 1) { reviewNominationViewModel.TotalCredit = reviewNominationViewModel.TotalCredit + Convert.ToInt32(d.Credit); } } listOfReviewSubmitionViewModel.Add(reviewNominationViewModel); } return(View("ReviewDetails", listOfReviewSubmitionViewModel)); }