public ActionResult ScoreReview(ScoreReviewViewModel modelView) { if (ModelState.IsValid) { if (modelView.Score <= modelView.MaximumScore) { if (UpdateMeasureScore(modelView)) { modelView.ProcessingStatus = true; modelView.ProcessingStatusMessage = string.Format("Successfully updated measure: {0} score to {1}", modelView.MeasureName, modelView.Score); } else { modelView.ProcessingStatus = false; modelView.ProcessingStatusMessage = string.Format("Failed to update measure: {0} score!!! Please try again", modelView.MeasureName); } } else { modelView.ProcessingStatus = false; modelView.ProcessingStatusMessage = string.Format("The Maximum allowed score is {0}", modelView.MaximumScore); } } modelView.ReviewContents = GetReviewMeasures(modelView.PerformanceReviewId); //REFRESH return(View(modelView)); }
public ActionResult ScoreReview(int?performanceReviewId, long?measureId, bool?processingStatus, string message) { if (performanceReviewId == null) { return(RedirectToAction("ManageReview", new { username = User.Identity.Name })); } if (measureId == null) { measureId = _dbContext.PMMeasure.FirstOrDefault(x => x.StrategeicGoal.PMReviewId == performanceReviewId && x.DateDeleted == null).PMMeasureId; } var measure = _dbContext.PMMeasure.Include(x => x.StrategeicGoal).Include(x => x.StrategeicGoal.StrategicGoal) .FirstOrDefault(x => x.PMMeasureId == (long)measureId && x.DateDeleted == null); var modelView = new ScoreReviewViewModel() { Username = User.Identity.Name, ManagerUsername = ManagerNetworkUsername((int)performanceReviewId), CurrentReviewStatus = GetCurrentReviewStatus((int)performanceReviewId), PerformanceReviewId = (int)performanceReviewId, MeasureId = measure.PMMeasureId, MeasureName = measure.MeasureName, MeasureWeight = measure.MeasureWeight, StrategicGoal = measure.StrategeicGoal.StrategicGoal.StrategicGoalName, Objective = measure.PMObjective, IsLineManager = IsLineManager(User.Identity.Name, (int)performanceReviewId), MaximumScore = GetMaximumRating(), ReviewContents = GetReviewMeasures((int)performanceReviewId) }; modelView.Score = measure.EmployeeScore; modelView.CaptureComments = measure.EmployeeComments; if (modelView.IsLineManager) { modelView.Score = measure.LineManagerScore; modelView.CaptureComments = measure.LineManagerComments; } if (!string.IsNullOrEmpty(message)) { modelView.ProcessingStatusMessage = message; modelView.ProcessingStatus = (bool)processingStatus; } return(View(modelView)); }
private bool UpdateMeasureScore(ScoreReviewViewModel modelView) { var measure = _dbContext.PMMeasure.Find(modelView.MeasureId); //Manager Scoring if (modelView.IsLineManager) { measure.LineManagerScore = modelView.Score; measure.LineManagerComments = modelView.CaptureComments; measure.ModifiedBy = modelView.ManagerUsername; measure.DateModified = DateTime.Now; } else { measure.EmployeeScore = modelView.Score; measure.EmployeeComments = modelView.CaptureComments; measure.ModifiedBy = modelView.Username; measure.DateModified = DateTime.Now; } _dbContext.SaveChanges(); return(true); }