Esempio n. 1
0
        public ActionResult Create()
        {
            //var colleagueDep = db.Colleagues.Where(c => c.Id == model.LMId).Select(s => s.DepartmentId).Single();
            //ViewBag.PCId = new SelectList(db.ProbationaryColleagues.Select(s => s.DepartmentId == colleagueDep), "Id", "Username");

            // create performance scores view model
            var model = new ProgressReviewViewModel();

            {
                foreach (var item in db.Competencies.ToList())
                {
                    model.Competencies.Add(
                        new CompetencyViewModel
                    {
                        Id             = item.CompetencyId,
                        CompetencyName = item.CompetencyName,
                    });
                }

                var review = new ProgressReview
                {
                    ReviewId = model.Id,
                    PCId     = model.PCId,
                    LMId     = User.Identity.IsAuthenticated ? User.Identity.GetUserId <int>() : db.Users.First().Id,
                };

                ViewBag.PCId = new SelectList(db.Assignments.Where(l => l.LMAssignId == review.LMId).Select(p => p.ProbationaryColleague), "Id", "Fullname");
            }
            return(View(model));
        }
Esempio n. 2
0
        public ActionResult Evaluate(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            ProgressReview review = db.ProgressReviews.Find(id);

            //ProgressReview review = db.ProgressReviews.Find(id).PRDHApprovalStatus== ProgressReview.ApprovalStatus.Approved;
            if (review == null)
            {
                return(HttpNotFound());
            }

            ProgressReviewViewModel model = new ProgressReviewViewModel
            {
                Id = review.ReviewId,
                PRCompletionStatus = review.PRCompletionStatus,
                LMId                  = review.LMId,
                LMCreates             = review.LMCreates.FullName,
                PCId                  = review.PCId,
                ProbationaryColleague = review.ProbationaryColleague.FullName,
                HREvaluatesId         = review.HREvaluatesId,
                PRDHApprovalStatus    = review.PRDHApprovalStatus,
                PRDHApprovesId        = review.PRDHApprovesId,
                //DHApproval = review.DHApproval,
                PRDHApproveDate   = review.PRDHApproveDate,
                PREvalDescription = review.PREvalDescription,
                SelfEvaluation    = review.SelfEvaluation,
                AssessmentStatus  = review.AssessmentStatus,
                SASubmissionDate  = review.SASubmissionDate,
                EvalDescription   = review.EvalDescription,
                TotalScore        = review.TotalScore,
                CreationPCId      = review.CreationPCId,
                //CreationPC = review.CreationPC.FullName,
                PRHRAEvalDecision = review.PRHRAEvalDecision,
            };

            // use index template to show competency scores
            foreach (var item in db.PerformanceCriterions.Where(r => r.ReviewId == review.ReviewId).ToList())
            {
                model.Competencies.Add(
                    new CompetencyViewModel
                {
                    Id             = item.CompetencyId,
                    CompetencyName = item.Competency.CompetencyName,
                    Score          = item.Score,
                });
            }
            return(View(model));
        }
Esempio n. 3
0
        public ActionResult Create(ProgressReviewViewModel model)
        {
            if (ModelState.IsValid)
            {
                // Create the review from the model
                var review = new ProgressReview
                {
                    ReviewId           = model.Id,
                    PCId               = model.PCId,
                    LMId               = User.Identity.IsAuthenticated ? User.Identity.GetUserId <int>() : db.Users.First().Id,
                    EvalDescription    = model.EvalDescription,
                    TotalScore         = model.TotalScore,
                    SelfEvaluation     = model.SelfEvaluation,
                    PREvalDescription  = model.PREvalDescription,
                    PRCompletionStatus = ProgressReview.CompletionStatus.Incomplete,
                    AssessmentStatus   = ProgressReview.Status.Pending,
                    PRSubmissionDate   = DateTime.Today
                };

                //Save the created review to the database
                db.ProgressReviews.Add(review);
                db.SaveChanges();

                foreach (var item in model.Competencies)
                {
                    var criteria = new PerformanceCriterion
                    {
                        ReviewId     = review.ReviewId,
                        CompetencyId = item.Id,
                        Score        = item.Score,
                    };

                    db.PerformanceCriterions.Add(criteria);
                    //db.SaveChanges();
                }

                db.SaveChanges();
                var tscore = db.PerformanceCriterions.Where(r => r.ReviewId == review.ReviewId).Select(s => s.Score).Sum();
                review.TotalScore = tscore;
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(model));
        }
Esempio n. 4
0
        public ActionResult Assess(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            ProgressReview review = db.ProgressReviews.Find(id);

            if (review == null)
            {
                return(HttpNotFound());
            }

            ProgressReviewViewModel model = new ProgressReviewViewModel
            {
                Id = review.ReviewId,
                PRCompletionStatus = ProgressReview.CompletionStatus.Complete,
                LMId                  = review.LMId,
                LMCreates             = review.LMCreates.FullName,
                PCId                  = review.PCId,
                ProbationaryColleague = review.ProbationaryColleague.FullName,
                PRDHApprovalStatus    = ProgressReview.ApprovalStatus.Pending,
                TotalScore            = review.TotalScore,//db.PerformanceCriterions.Where(r => r.ReviewId == review.ReviewId).Select(s => s.Score).Sum(),
                EvalDescription       = review.EvalDescription,
                PREvalDescription     = review.PREvalDescription,
                SelfEvaluation        = review.SelfEvaluation,
                SASubmissionDate      = review.SASubmissionDate
            };

            // use index template to show competency scores
            foreach (var item in db.PerformanceCriterions.Where(r => r.ReviewId == review.ReviewId).ToList())
            {
                model.Competencies.Add(
                    new CompetencyViewModel
                {
                    Id             = item.CompetencyId,
                    CompetencyName = item.Competency.CompetencyName,
                    Score          = item.Score,
                });
            }

            return(View(model));
        }