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