public ActionResult AddOrg(AddOrg addOrg) { if (ModelState.IsValid) { if (addOrg.GoalID > 0) { tblHOTP_EmployeeGoals newEmployeeGoals = new tblHOTP_EmployeeGoals(); newEmployeeGoals.GoalID = addOrg.GoalID; newEmployeeGoals.EmployeeID = addOrg.EmployeeID; newEmployeeGoals.Weight = addOrg.Weight; int? score = (db.tblHOTP_Goals.Where(g => g.GoalID == addOrg.GoalID).Select(g => g.Score)).First(); decimal rounded = decimal.Round(Convert.ToDecimal(newEmployeeGoals.Weight) * Convert.ToDecimal(score) / 100, 2); newEmployeeGoals.ItemScore = rounded; db.tblHOTP_EmployeeGoals.Add(newEmployeeGoals); db.SaveChanges(); } return RedirectToAction("Index"); } return View(addOrg); }
public ActionResult Cascade(FormCollection formCollection) { //if (ModelState.IsValid) { var Employees = (from e in db.tblHOTP_Employees where e.Evaluations orderby e.LastName select e); //).ToList(); var Goals = (from g in db.tblHOTP_Goals where g.GoalType == "Organizational" join c in db.tblHOTP_Codes on g.Pillar equals c.Code select g); string year = ""; foreach (tblHOTP_Employees emp in Employees) { foreach (tblHOTP_Goals goal in Goals) { year = goal.YearEnding; try { string inputField = "MyGoals_" + emp.EmployeeID + "_" + goal.GoalID + "_Weight"; string myString = Request.Form[inputField]; if (db.tblHOTP_EmployeeGoals.Any(eg => eg.EmployeeID == emp.EmployeeID && eg.GoalID == goal.GoalID)) // tblHOTP_EmployeeGoals already exists { if (myString.CompareTo("") == 0) { // DON'T remove it. They could have added it separately. //var itemToRemove = db.tblHOTP_EmployeeGoals.SingleOrDefault(eg => eg.EmployeeID == emp.EmployeeID && eg.GoalID == goal.GoalID); //if (itemToRemove != null) //{ // db.tblHOTP_EmployeeGoals.Remove(itemToRemove); //} } else { var itemToUpdate = db.tblHOTP_EmployeeGoals.SingleOrDefault(eg => eg.EmployeeID == emp.EmployeeID && eg.GoalID == goal.GoalID); if (itemToUpdate != null) { itemToUpdate.Weight = Convert.ToInt16(myString); } } } else //Doesn't already exist { if (myString.CompareTo("") == 0) { // do nothing } else { var newEmployeeGoal = new tblHOTP_EmployeeGoals(); newEmployeeGoal.EmployeeID = emp.EmployeeID; newEmployeeGoal.GoalID = goal.GoalID; newEmployeeGoal.Weight = Convert.ToInt16(myString); decimal rounded = decimal.Round(Convert.ToDecimal(newEmployeeGoal.Weight) * Convert.ToDecimal(goal.Score) / 100, 2); newEmployeeGoal.ItemScore = rounded; db.tblHOTP_EmployeeGoals.Add(newEmployeeGoal); } } } catch { } } } try { // Your code... // Could also be before try if you know the exception occurs in SaveChanges db.SaveChanges(); } catch (DbEntityValidationException e) { foreach (var eve in e.EntityValidationErrors) { Console.WriteLine("Entity of type \"{0}\" in state \"{1}\" has the following validation errors:", eve.Entry.Entity.GetType().Name, eve.Entry.State); foreach (var ve in eve.ValidationErrors) { Console.WriteLine("- Property: \"{0}\", Error: \"{1}\"", ve.PropertyName, ve.ErrorMessage); } } throw; } //db.SaveChanges(); return RedirectToAction("Index", new { year = year }); } //else //{ // var cascadeGoals = new CascadeGoals(); // cascadeGoals.Employees = (from e in db.tblHOTP_Employees where e.Evaluations orderby e.LastName select e).ToList(); // cascadeGoals.Goals = (from g in db.tblHOTP_Goals // where g.GoalType == "Organizational" // join c in db.tblHOTP_Codes on g.Pillar equals c.Code // orderby c.Sequence // select g).ToList(); // return View(cascadeGoals); //} //return View(employees.ToList()); }
public ActionResult Create(EvalViewModel returnedEvalViewModel) { if (ModelState.IsValid) { tblHOTP_Goals newGoal = new tblHOTP_Goals(); //var goal = db.tblHOTP_Goals.Find(returnedEvalViewModel.Goal.GoalID); newGoal.YearEnding = returnedEvalViewModel.Goal.YearEnding; newGoal.GoalType = returnedEvalViewModel.Goal.GoalType; newGoal.Pillar = returnedEvalViewModel.Goal.Pillar; newGoal.GoalName = returnedEvalViewModel.Goal.GoalName; newGoal.PillarGoalName = returnedEvalViewModel.Goal.PillarGoalName; newGoal.Goal = returnedEvalViewModel.Goal.Goal; newGoal.Status = returnedEvalViewModel.Goal.Status; newGoal.ResultsMeasured = returnedEvalViewModel.Goal.ResultsMeasured; newGoal.BestRating = returnedEvalViewModel.Goal.BestRating; newGoal.YearEndCalculation = returnedEvalViewModel.Goal.YearEndCalculation; newGoal.UnitsMeasuredIn = returnedEvalViewModel.Goal.UnitsMeasuredIn; newGoal.NumDecimals = returnedEvalViewModel.Goal.NumDecimals; newGoal.ResultsEntered = returnedEvalViewModel.Goal.ResultsEntered; newGoal.EnteredBy = returnedEvalViewModel.Goal.EnteredBy; newGoal.NonEditableByLeader = returnedEvalViewModel.Goal.NonEditableByLeader; newGoal.Rating1 = returnedEvalViewModel.Goal.Rating1; newGoal.Rating2 = returnedEvalViewModel.Goal.Rating2; newGoal.Rating3 = returnedEvalViewModel.Goal.Rating3; newGoal.Rating4 = returnedEvalViewModel.Goal.Rating4; newGoal.Rating5 = returnedEvalViewModel.Goal.Rating5; newGoal.Rating1Suffix = returnedEvalViewModel.Goal.Rating1Suffix; newGoal.Rating2End = returnedEvalViewModel.Goal.Rating2End; newGoal.Rating3End = returnedEvalViewModel.Goal.Rating3End; newGoal.Rating4End = returnedEvalViewModel.Goal.Rating4End; newGoal.Rating5Suffix = returnedEvalViewModel.Goal.Rating5Suffix; newGoal.Jan = returnedEvalViewModel.Goal.Jan; newGoal.Feb = returnedEvalViewModel.Goal.Feb; newGoal.Mar = returnedEvalViewModel.Goal.Mar; newGoal.Apr = returnedEvalViewModel.Goal.Apr; newGoal.May = returnedEvalViewModel.Goal.May; newGoal.Jun = returnedEvalViewModel.Goal.Jun; newGoal.Jul = returnedEvalViewModel.Goal.Jul; newGoal.Aug = returnedEvalViewModel.Goal.Aug; newGoal.Sep = returnedEvalViewModel.Goal.Sep; newGoal.Oct = returnedEvalViewModel.Goal.Oct; newGoal.Nov = returnedEvalViewModel.Goal.Nov; newGoal.Dec = returnedEvalViewModel.Goal.Dec; db.tblHOTP_Goals.Add(newGoal); db.SaveChanges(); int goalID = newGoal.GoalID; tblHOTP_EmployeeGoals newEmployeeGoal = new tblHOTP_EmployeeGoals(); // db.tblHOTP_EmployeeGoals.Find(returnedEvalViewModel.EmployeeGoalID); newEmployeeGoal.GoalID = goalID; newEmployeeGoal.EmployeeID = returnedEvalViewModel.EmployeeID; newEmployeeGoal.Weight = returnedEvalViewModel.Weight; newEmployeeGoal.ItemScore = 0; // returnedEvalViewModel.ItemScore; db.tblHOTP_EmployeeGoals.Add(newEmployeeGoal); db.SaveChanges(); return RedirectToAction("Index"); } ViewBag.Pillar = PopulateCodesDDL("Pillar"); ViewBag.YearEnding = PopulateCodesDDL("YearEnding"); ViewBag.ResultsMeasured = PopulateCodesDDL("ResultsMeasured"); ViewBag.BestRating = PopulateCodesDDL("BestRating"); ViewBag.YearEndCalculation = PopulateCodesDDL("YearEndCalculation"); ViewBag.UnitsMeasuredIn = PopulateCodesDDL("UnitsMeasuredIn"); ViewBag.ResultsEntered = PopulateCodesDDL("ResultsEntered"); return View(returnedEvalViewModel); }