private bool AddNewMeasure(CreateMeasureModelView modelView) { var pmStrategicGoalId = 0; if (!StrategicGoalExist(modelView.StrategicGoalId, modelView.PerformanceReviewId)) { var addStrategicGoal = _dbContext.PMStrategicGoal.Add(TransformStrategicGoal(modelView)); _dbContext.SaveChanges(); pmStrategicGoalId = addStrategicGoal.PMStrategicGoalId; } else { pmStrategicGoalId = GetReviewStrategicGoal(modelView); } if (pmStrategicGoalId == 0) { return(false); } var measure = TransformMeasure(modelView, pmStrategicGoalId); _dbContext.PMMeasure.Add(measure); _dbContext.SaveChanges(); return(measure.PMMeasureId > 0 ? true : false); }
private PMStrategicGoal TransformStrategicGoal(CreateMeasureModelView modelView) { return(new PMStrategicGoal() { StrategicGoalId = modelView.StrategicGoalId, PMReviewId = modelView.PerformanceReviewId, StrategicGoalWeight = 0.00M, StatusId = 1, CreatedBy = modelView.Username, DateCreated = DateTime.Now, DateModified = DateTime.Now, ModifiedBy = modelView.Username }); }
private int GetReviewStrategicGoal(CreateMeasureModelView modelView) { var goal = (_dbContext.PMStrategicGoal.FirstOrDefault(x => x.PMReviewId == modelView.PerformanceReviewId && x.StrategicGoalId == modelView.StrategicGoalId && x.DateDeleted == null)); if (goal != null) { return(goal.PMStrategicGoalId); } var addStrategicGoal = _dbContext.PMStrategicGoal.Add(TransformStrategicGoal(modelView)); _dbContext.SaveChanges(); return(addStrategicGoal.PMStrategicGoalId); }
private PMeasure TransformMeasure(CreateMeasureModelView modelView, int reviewStrategicGoalId) { return(new PMeasure() { PMStrategicGoalId = reviewStrategicGoalId, MeasureName = modelView.MeasureName, MeasureWeight = modelView.MeasureWeight, PMObjective = modelView.ObjectiveName, SubjectMatterExpert = "Employee", StatusId = 1, CreatedBy = modelView.Username, DateCreated = DateTime.Now, DateModified = DateTime.Now, ModifiedBy = modelView.Username, AuditScore = 1, LineManagerScore = 1, EmployeeScore = 1, TermId = 1 }); }
public ActionResult AddPerformanceReviewContents(int?performanceReviewId, FormModeOption?formProcessingMode, long? measureId, bool?processingStatus, string message) { if ((performanceReviewId == null) || (formProcessingMode == null)) { return(RedirectToAction("ManageReview", new { username = User.Identity.Name })); } var modelView = new CreateMeasureModelView(); modelView.Username = User.Identity.Name; modelView.ManagerUsername = ManagerNetworkUsername((int)performanceReviewId); modelView.CurrentReviewStatus = GetCurrentReviewStatus((int)performanceReviewId); modelView.PerformanceReviewId = (int)performanceReviewId; modelView.StrategicGoals = GetReviewStrategicGoals(); modelView.FormProcessingMode = (FormModeOption)formProcessingMode; if ((formProcessingMode == FormModeOption.EDIT) || (formProcessingMode == FormModeOption.DELETE)) { var measure = _dbContext.PMMeasure.Find((long)measureId); if (measure != null) { modelView.MeasureId = measure.PMMeasureId; modelView.MeasureName = measure.MeasureName; modelView.MeasureWeight = measure.MeasureWeight; modelView.StrategicGoalId = measure.PMStrategicGoalId; modelView.ObjectiveName = measure.PMObjective; } } if (!string.IsNullOrEmpty(message)) { modelView.ProcessingStatusMessage = message; modelView.ProcessingStatus = (bool)processingStatus; } //REFRESH modelView.CreatedMeasures = GetReviewCapturedMeasures((int)performanceReviewId); modelView.StrategicGoals = GetReviewStrategicGoals(); return(View(modelView)); }
public ActionResult AddPerformanceReviewContents(CreateMeasureModelView modelView) { if (ModelState.IsValid) { switch (modelView.FormProcessingMode) { case FormModeOption.CREATE: { if (AddNewMeasure(modelView)) { var successOne = string.Format("Successfully added measure: {0}.", modelView.MeasureName); return(RedirectToAction("AddPerformanceReviewContents", new { performanceReviewId = modelView.PerformanceReviewId, formProcessingMode = FormModeOption.CREATE, processingStatus = true, message = successOne })); } else { modelView.ProcessingStatus = false; modelView.ProcessingStatusMessage = string.Format("An error occurred while trying to save measure: {0}. " + "Please try again and if the error persist contact System Support.", modelView.MeasureName); } break; } case FormModeOption.EDIT: var measure = _dbContext.PMMeasure.Find(modelView.MeasureId); measure.MeasureName = modelView.MeasureName; measure.MeasureWeight = modelView.MeasureWeight; measure.PMStrategicGoalId = GetReviewStrategicGoal(modelView); measure.PMObjective = modelView.ObjectiveName; measure.ModifiedBy = modelView.Username; measure.DateModified = DateTime.Now; _dbContext.SaveChanges(); var success = string.Format("Successfully updated measure: {0}.", measure.MeasureName); return(RedirectToAction("AddPerformanceReviewContents", new { performanceReviewId = modelView.PerformanceReviewId, formProcessingMode = FormModeOption.CREATE, processingStatus = true, message = success })); case FormModeOption.DELETE: var deleteMeasure = _dbContext.PMMeasure.Find(modelView.MeasureId); deleteMeasure.DeletedBy = modelView.Username; deleteMeasure.DateDeleted = DateTime.Now; deleteMeasure.StatusId = 4; //Deleted deleteMeasure.ModifiedBy = modelView.Username; deleteMeasure.DateModified = DateTime.Now; _dbContext.SaveChanges(); var successTwo = string.Format("Successfully Deleted measure: {0}.", deleteMeasure.MeasureName); return(RedirectToAction("AddPerformanceReviewContents", new { performanceReviewId = modelView.PerformanceReviewId, formProcessingMode = FormModeOption.CREATE, processingStatus = true, message = successTwo })); } } modelView.CreatedMeasures = GetReviewCapturedMeasures(modelView.PerformanceReviewId); //Model contains errors return(View(modelView)); }