示例#1
0
        public ActionResult Assess(int id, FormCollection collection, ProgressReviewViewModel model)
        {
            if (ModelState.IsValid)
            {
                var review = db.ProgressReviews.Find(id);
                if (review != null)
                {
                    review.EvalDescription    = model.EvalDescription;
                    review.LMId               = model.LMId;
                    review.PCId               = model.PCId;
                    review.PRCompletionStatus = model.PRCompletionStatus;
                    review.PRDHApprovalStatus = model.PRDHApprovalStatus;
                    review.PRHRAEvalDecision  = model.PRHRAEvalDecision;
                    review.PREvalDescription  = model.PREvalDescription;
                    review.SelfEvaluation     = model.SelfEvaluation;
                    review.AssessmentStatus   = ProgressReview.Status.Submitted;
                    review.SASubmissionDate   = DateTime.Today; // add jquery datetime type
                    review.CreationPCId       = User.Identity.GetUserId <int>();

                    db.SaveChanges();

                    return(RedirectToAction("Index"));
                }
                else
                {
                    return(HttpNotFound());
                }
            }
            else
            {
                return(View());
            }
        }
示例#2
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));
        }
示例#3
0
        public ActionResult Edit(int id, FormCollection collection, ProgressReviewViewModel model)
        {
            if (ModelState.IsValid)
            {
                var review = db.ProgressReviews.Find(id);
                if (review != null)
                {
                    review.EvalDescription   = model.EvalDescription;
                    review.TotalScore        = model.TotalScore;
                    review.PREvalDescription = model.PREvalDescription;
                    review.SelfEvaluation    = model.SelfEvaluation;
                    //review.LMId = model.LMId;
                    review.PCId               = model.PCId;
                    review.CreationPCId       = model.CreationPCId;
                    review.AssessmentStatus   = model.AssessmentStatus;
                    review.PRCompletionStatus = model.PRCompletionStatus;
                    review.SASubmissionDate   = model.SASubmissionDate;
                    review.PRDHApprovalStatus = model.PRDHApprovalStatus;
                    review.PRDHApproveDate    = model.PRDHApproveDate;
                    review.PRHRAEvalDecision  = model.PRHRAEvalDecision;
                    review.PRHRAEvalDate      = model.PRHRAEvalDate;
                    review.PRDHApprovesId     = model.PRDHApprovesId;
                    review.HREvaluatesId      = model.HREvaluatesId;


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

                        db.Entry(criteria).State = System.Data.Entity.EntityState.Modified;
                        //db.PerformanceCriterions.Add(criteria);
                    }
                    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"));
                }
                else
                {
                    return(HttpNotFound());
                }
            }
            else
            {
                return(View());
            }
        }
示例#4
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));
        }
示例#5
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));
        }
示例#6
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));
        }
示例#7
0
        //[Authorize(Roles = "Probationary Colleague")]
        public ActionResult Evaluate(int id, FormCollection collection, ProgressReviewViewModel model)
        {
            if (ModelState.IsValid)
            {
                var review = db.ProgressReviews.Find(id);
                if (review != null)
                {
                    review.EvalDescription   = model.EvalDescription;
                    review.PREvalDescription = model.PREvalDescription;
                    review.SelfEvaluation    = model.SelfEvaluation;
                    review.LMId               = model.LMId;
                    review.PCId               = model.PCId;
                    review.CreationPCId       = model.CreationPCId;
                    review.AssessmentStatus   = model.AssessmentStatus;
                    review.PRCompletionStatus = ProgressReview.CompletionStatus.Complete;
                    review.SASubmissionDate   = model.SASubmissionDate;
                    review.PRDHApprovalStatus = model.PRDHApprovalStatus;
                    review.PRDHApproveDate    = model.PRDHApproveDate;
                    review.PRHRAEvalDecision  = model.PRHRAEvalDecision;
                    review.PRHRAEvalDate      = DateTime.Today;
                    review.PRDHApprovesId     = model.PRDHApprovesId;
                    review.HREvaluatesId      = User.Identity.GetUserId <int>();

                    db.SaveChanges();

                    return(RedirectToAction("Index"));
                }
                else
                {
                    return(HttpNotFound());
                }
            }
            else
            {
                ViewBag.CompetencyId = new SelectList(db.Competencies, "CompetencyId", "CompetencyName");
                return(View());
            }
        }
示例#8
0
        public ActionResult Approve(int id, FormCollection collection, ProgressReviewViewModel model)
        {
            if (ModelState.IsValid)
            {
                var review = db.ProgressReviews.Find(id);
                if (review != null)
                {
                    //review.TotalScore = model.TotalScore;
                    review.EvalDescription   = model.EvalDescription;
                    review.PREvalDescription = model.PREvalDescription;
                    review.SelfEvaluation    = model.SelfEvaluation;
                    review.LMId               = model.LMId;
                    review.PCId               = model.PCId;
                    review.CreationPCId       = model.CreationPCId;
                    review.AssessmentStatus   = model.AssessmentStatus;
                    review.PRCompletionStatus = model.PRCompletionStatus;
                    review.SASubmissionDate   = model.SASubmissionDate;
                    review.PRDHApprovalStatus = model.PRDHApprovalStatus;
                    review.PRDHApproveDate    = DateTime.Today;
                    review.PRDHApprovesId     = User.Identity.GetUserId <int>();
                    review.PRHRAEvalDecision  = ProgressReview.EvaluationDecision.Pending;

                    //db.Entry(review).State = System.Data.Entity.EntityState.Modified;

                    db.SaveChanges();

                    return(RedirectToAction("Index"));
                }
                else
                {
                    return(HttpNotFound());
                }
            }
            else
            {
                return(View());
            }
        }