Beispiel #1
0
        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"));
        }
Beispiel #2
0
        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));
        }
Beispiel #3
0
        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));
        }
Beispiel #4
0
        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));
        }