public JsonResult addNValues(Int16 indicatorID, Int16 fiscalYear) { var indicatorNValue = db.Indicators.FirstOrDefault(x => x.Indicator_N_Value == true && x.Indicator_N_Value_ID == indicatorID); var title = "N-Values: " + db.Indicators.FirstOrDefault(x => x.Indicator_ID == indicatorID).Indicator; if (indicatorNValue == null) { indicatorNValue = new Indicators() { Indicator_N_Value = true, Indicator_N_Value_ID = indicatorID, Indicator = title }; db.Indicators.Add(indicatorNValue); db.SaveChanges(); ModelState.Clear(); } var indicatorNValueMap = new Indicator_CoE_Maps(){ Fiscal_Year = fiscalYear, CoE_ID = 0, }; if (!db.Indicator_CoE_Maps.Any(x => x.Indicator.Indicator_N_Value_ID == indicatorID && x.Fiscal_Year == fiscalYear)) { indicatorNValueMap.Indicator_ID = indicatorNValue.Indicator_ID; db.Indicator_CoE_Maps.Add(indicatorNValueMap); db.SaveChanges(); } return Json(new { indicatorID = indicatorNValue.Indicator_ID, mapID = indicatorNValueMap.Map_ID, coeID = indicatorNValueMap.CoE_ID, areaID = indicatorNValueMap.Indicator.Area_ID }, JsonRequestBehavior.AllowGet); }
public ActionResult Create(Indicators indicators) { if (ModelState.IsValid) { db.Indicators.Add(indicators); db.SaveChanges(); return RedirectToAction("Index"); } return View(indicators); }
public ActionResult Edit(Indicators indicators) { if (ModelState.IsValid) { db.Entry(indicators).State = EntityState.Modified; db.SaveChanges(); return RedirectToAction("Index"); } return View(indicators); }
public static string getThreshold(String inTarget, Indicators inIndicator, Int16? Threshold_ID, Int16? Direction_ID, Int16 Fiscal_Year) { string str; float outScore; string Target = inTarget; if (Target == "-") { return "-"; } str = Color.getNum(Target); if (str == null) { return "TBD"; } var direction = ">"; if (Target != null){ if (Target.Length != 0) { var sign = Target.Substring(0,1); direction = sign; } } if (float.TryParse(str, out outScore)) { } else if (str != null && str.Length != 0 && str.IndexOf(":") != -1) { outScore = float.Parse(str.Replace(":", "")); } float targetScore = outScore; if (targetScore == 0) { return "-"; } double threshold_high = 1.1; double threshold_low = 0.9; if (Threshold_ID == 2) { threshold_high = 1.01; threshold_low = 0.99; } /* var direction = ">"; if (Direction_ID == 2) { direction = "≥"; } else if (Direction_ID == 3) { direction = "<"; } else if (Direction_ID == 4) { direction = "≤"; }*/ if (Target != null) { if (Target.IndexOf("%") != -1) { targetScore = targetScore / 100; } if (direction == "≤" || direction == "<") { if (inIndicator.Format != null) { if (inIndicator.Format.Format_Code_C == "T") { return TimeSpan.FromHours(targetScore * threshold_high).ToString("h\\:mm"); } } return (targetScore * threshold_high).ToString(inIndicator.Format != null ? inIndicator.Format.Format_Code_C : ""); } else if (direction == "≥" || direction == ">") { if (inIndicator.Format != null) { if (inIndicator.Format.Format_Code_C == "T") { return TimeSpan.FromHours(targetScore * threshold_low).ToString("h\\:mm"); } } return (targetScore * threshold_low).ToString(inIndicator.Format != null ? inIndicator.Format.Format_Code_C : ""); } else { return "TBD"; } } else { return ""; } }
public static String getColor(String inStr, String inTarget, String inMonth, String inCustom, Int16 Color_ID, Boolean isYTD, Indicators inIndicator, Int16? Threshold_ID, Int16? Direction_ID, Int16 Fiscal_Year) { string str; float outScore; string Target = inTarget; double threshold_high = 1.1; double threshold_low = 0.9; if (Threshold_ID == 2) { threshold_high = 1.01; threshold_low = 0.99; } if (Color_ID == 3) { return String.IsNullOrEmpty(inCustom) ? "cssWhite" : inCustom; } var direction = ">"; if (Direction_ID == 2) { direction = "≥"; } else if (Direction_ID == 3) { direction = "<"; } else if (Direction_ID == 4) { direction = "≤"; } if (inStr != null) inStr = inStr.Replace("%", ""); str = Color.getNum(inStr); if (str == null) { return "cssWhite"; } if (float.TryParse(str, out outScore)) { } else if (str != null && str.Length != 0 && str.IndexOf(":") != -1) { outScore = float.Parse(str.Replace(":", "")); } float score = outScore; str = Color.getNum(Target); if (str == null) { return "cssWhite"; } if (float.TryParse(str, out outScore)) { } else if (str != null && str.Length != 0 && str.IndexOf(":") != -1) { outScore = float.Parse(str.Replace(":", "")); } float targetScore = outScore; if (Color_ID == 0) { return "cssWhite"; } if (Color_ID == 2 || Color_ID == 4) { if (isYTD == false) { switch (inMonth) { case "Apr": score *= 12 / 1; break; case "May": score *= 12 / 2; break; case "Jun": score *= 12 / 3; break; case "Jul": score *= 12 / 1; break; case "Aug": score *= 12 / 2; break; case "Sep": score *= 12 / 3; break; case "Oct": score *= 12 / 1; break; case "Nov": score *= 12 / 2; break; case "Dec": score *= 12 / 3; break; case "Jan": score *= 12 / 1; break; case "Feb": score *= 12 / 2; break; case "Mar": score *= 12 / 3; break; default: score *= 12 / 3; break; } } else { int numMonths = 0; if (Fiscal_Year == 2) { if (Color.getNum(inIndicator.FY_14_15_Q1) != null) { if (float.TryParse(Color.getNum(inIndicator.FY_14_15_Q1), out outScore)) { switch (inIndicator.FY_14_15_Q1_Sup) { case "Apr": numMonths += 1; break; case "May": numMonths += 2; break; case "Jun": numMonths += 3; break; default: numMonths += 3; break; } } } if (Color.getNum(inIndicator.FY_14_15_Q2) != null) { if (float.TryParse(Color.getNum(inIndicator.FY_14_15_Q2), out outScore)) { switch (inIndicator.FY_14_15_Q2_Sup) { case "Jul": numMonths += 1; break; case "Aug": numMonths += 2; break; case "Sep": numMonths += 3; break; default: numMonths += 3; break; } } } if (Color.getNum(inIndicator.FY_14_15_Q3) != null) { if (float.TryParse(Color.getNum(inIndicator.FY_14_15_Q3), out outScore)) { switch (inIndicator.FY_14_15_Q3_Sup) { case "Oct": numMonths += 1; break; case "Nov": numMonths += 2; break; case "Dec": numMonths += 3; break; default: numMonths += 3; break; } } } if (Color.getNum(inIndicator.FY_14_15_Q4) != null) { if (float.TryParse(Color.getNum(inIndicator.FY_14_15_Q4), out outScore)) { switch (inIndicator.FY_14_15_Q4_Sup) { case "Jan": numMonths += 1; break; case "Feb": numMonths += 2; break; case "Mar": numMonths += 3; break; default: numMonths += 3; break; } } } } if (Fiscal_Year == 3) { if (Color.getNum(inIndicator.FY_15_16_Q1) != null) { if (float.TryParse(Color.getNum(inIndicator.FY_15_16_Q1), out outScore)) { switch (inIndicator.FY_15_16_Q1_Sup) { case "Apr": numMonths += 1; break; case "May": numMonths += 2; break; case "Jun": numMonths += 3; break; default: numMonths += 3; break; } } } if (Color.getNum(inIndicator.FY_15_16_Q2) != null) { if (float.TryParse(Color.getNum(inIndicator.FY_15_16_Q3), out outScore)) { switch (inIndicator.FY_15_16_Q2_Sup) { case "Jul": numMonths += 1; break; case "Aug": numMonths += 2; break; case "Sep": numMonths += 3; break; default: numMonths += 3; break; } } } if (Color.getNum(inIndicator.FY_15_16_Q3) != null) { if (float.TryParse(Color.getNum(inIndicator.FY_15_16_Q3), out outScore)) { switch (inIndicator.FY_15_16_Q3_Sup) { case "Oct": numMonths += 1; break; case "Nov": numMonths += 2; break; case "Dec": numMonths += 3; break; default: numMonths += 3; break; } } } if (Color.getNum(inIndicator.FY_15_16_Q4) != null) { if (float.TryParse(Color.getNum(inIndicator.FY_15_16_Q4), out outScore)) { switch (inIndicator.FY_15_16_Q4_Sup) { case "Jan": numMonths += 1; break; case "Feb": numMonths += 2; break; case "Mar": numMonths += 3; break; default: numMonths += 3; break; } } } } if (numMonths == 0) { numMonths = 1; } score /= numMonths; score *= 12; } } if (Color_ID != 4 && Color_ID != 5) { if (Target != null) { if (direction == "≤") { if (score <= targetScore) { return "cssGreen"; } else { if (score <= targetScore * threshold_high) { return "cssYellow"; } else { return "cssRed"; } } } else if (direction == "<") { if (score < targetScore) { return "cssGreen"; } else { if (score < targetScore * threshold_high) { return "cssYellow"; } else { return "cssRed"; } } } else if (direction == ">") { if (score > targetScore) { return "cssGreen"; } else { if (score > targetScore * threshold_low) { return "cssYellow"; } else { return "cssRed"; } } } else { if (score >= targetScore) { return "cssGreen"; } else { if (score >= targetScore * threshold_low) { return "cssYellow"; } else { return "cssRed"; } } } } else { return "cssWhite"; } } else { if (Target != null) { if (direction == ">" || direction == "≥") { if (score < targetScore) { return "cssRed"; } else if (score > targetScore * (((threshold_high * 100) + 1) / 100)) { return "cssRed"; } else if (score >= targetScore * threshold_high && score <= targetScore * (((threshold_high * 100) + 1) / 100)) { return "cssYellow"; } else if (score > targetScore) { return "cssGreen"; } else { return "cssRed"; } } else { if (score > targetScore) { return "cssRed"; } else if (score < targetScore * (((threshold_high * 100) + 1) / 100)) { return "cssRed"; } else if (score <= targetScore * threshold_low && score >= targetScore * (((threshold_low * 100) - 1) / 100)) { return "cssYellow"; } else if (score < targetScore) { return "cssGreen"; } else { return "cssRed"; } } } else { return "cssWhite"; } } }
public JsonResult newIndicatorAtPR(Int16 fiscalYear, Int16 areaID, Int16 coeID, Int16 indicatorID, Int16? newIndicatorID) { Indicators indicator = new Indicators(); if (newIndicatorID.HasValue) { indicator = db.Indicators.FirstOrDefault(x => x.Indicator_ID == newIndicatorID); } else { indicator = new Indicators(); indicator.Area_ID = areaID; indicator.Indicator = ""; db.Indicators.Add(indicator); db.SaveChanges(); } var newMap = new Indicator_CoE_Maps(); newMap.Indicator_ID = indicator.Indicator_ID; int number = 0; if (indicatorID != 0) { number = db.Indicator_CoE_Maps.Where(x => x.CoE_ID == coeID && x.Fiscal_Year == x.Fiscal_Year).FirstOrDefault(x => x.Indicator_ID == indicatorID).Number + 1; } newMap.Number = (Int16)number; var allMaps = db.Indicator_CoE_Maps.ToList(); foreach (var map in allMaps.OrderBy(x => x.Number).Where(x => x.CoE_ID == coeID && x.Fiscal_Year == x.Fiscal_Year && x.Number >= number)) { map.Number++; db.Entry(map).State = EntityState.Modified; db.SaveChanges(); } newMap.CoE_ID = coeID; newMap.Fiscal_Year = fiscalYear; db.Indicator_CoE_Maps.Add(newMap); db.SaveChanges(); return Json(new { indicatorID = indicator.Indicator_ID, mapID = newMap.Map_ID, newAreaID = indicator.Area_ID }, JsonRequestBehavior.AllowGet); }
public ActionResult editCoEs(String CoE_ID_Filter) { var viewModelItems = db.CoEs.ToArray(); var viewModel = viewModelItems.OrderBy(x => x.CoE_ID).Select(x => new CoEsViewModel { CoE_ID = x.CoE_ID, CoE = x.CoE, CoE_Abbr = x.CoE_Abbr, CoE_Notes = x.CoE_Notes, CoE_Subtitle = x.CoE_Subtitle, CoE_Type = x.CoE_Type, CoE_Title = x.CoE_Title }).ToList(); if (Request.IsAjaxRequest()) { if (CoE_ID_Filter == "") { var newCoE = db.CoEs.Create(); newCoE.CoE_Abbr = ""; db.CoEs.Add(newCoE); db.SaveChanges(); var newIndicator = new Indicators(); var newAreaCoEMap = new Area_CoE_Maps(); var newIndicatorCoEMap = new Indicator_CoE_Maps(); var allFiscalYear = db.Fiscal_Years.ToList(); var allAreas = db.Areas.ToList(); foreach (var fiscalYear in allFiscalYear) { foreach (var area in allAreas) { for (var i = 1; i <= 5; i++) { newIndicator = db.Indicators.Create(); db.Indicators.Add(newIndicator); db.SaveChanges(); newIndicator.Area_ID = area.Area_ID; db.Entry(newIndicator).State = EntityState.Modified; db.SaveChanges(); newIndicatorCoEMap = new Indicator_CoE_Maps { CoE_ID = newCoE.CoE_ID, Fiscal_Year = fiscalYear.Fiscal_Year_Code, Indicator_ID = newIndicator.Indicator_ID }; db.Indicator_CoE_Maps.Add(newIndicatorCoEMap); db.SaveChanges(); } newAreaCoEMap = new Area_CoE_Maps{ Area_ID = area.Area_ID, CoE_ID = newCoE.CoE_ID, Fiscal_Year = fiscalYear.Fiscal_Year_Code, Objective = "" }; db.Area_CoE_Maps.Add(newAreaCoEMap); db.SaveChanges(); } } viewModel = new List<CoEsViewModel>(); var newViewModelItem = new CoEsViewModel { CoE_ID = newCoE.CoE_ID, CoE = newCoE.CoE, CoE_Abbr = newCoE.CoE_Abbr, CoE_Notes = newCoE.CoE_Notes, CoE_Subtitle = newCoE.CoE_Subtitle, CoE_Type = newCoE.CoE_Type, CoE_Title = newCoE.CoE_Title }; viewModel.Add(newViewModelItem); return Json(viewModel, JsonRequestBehavior.AllowGet); } else { return Json(viewModel.Where(x => x.CoE_ID.ToString().Contains(CoE_ID_Filter == null ? "" : CoE_ID_Filter)), JsonRequestBehavior.AllowGet); } } else { return View(viewModel); } }
public JsonResult newIndicatorAtPRdbl(Int16 fiscalYear, Int16 areaID, Int16 coeID, Int16 coeID2) { Indicators indicator = new Indicators(); Indicators indicator2 = new Indicators(); indicator = db.Indicators.Create(); indicator2 = db.Indicators.Create(); db.Indicators.Add(indicator); db.Indicators.Add(indicator2); db.SaveChanges(); indicator.Area_ID = areaID; indicator2.Area_ID = areaID; var type = indicator.GetType(); var property = type.GetProperty(Helpers.FiscalYear.FYStrFull("FY_Color_ID", fiscalYear)); property.SetValue(indicator, Convert.ChangeType(1, property.PropertyType), null); var type2 = indicator2.GetType(); var property2 = type.GetProperty(Helpers.FiscalYear.FYStrFull("FY_Color_ID", fiscalYear)); property2.SetValue(indicator2, Convert.ChangeType(1, property2.PropertyType), null); indicator.Indicator = ""; indicator.Indicator_Link = indicator2.Indicator_ID; db.Entry(indicator).State = EntityState.Modified; db.SaveChanges(); indicator2.Indicator = ""; indicator2.Indicator_Link = indicator.Indicator_ID; db.Entry(indicator2).State = EntityState.Modified; db.SaveChanges(); var newMap = new Indicator_CoE_Maps(); newMap.Indicator_ID = indicator.Indicator_ID; newMap.CoE_ID = coeID; newMap.Fiscal_Year = fiscalYear; db.Indicator_CoE_Maps.Add(newMap); db.SaveChanges(); var newMap2 = new Indicator_CoE_Maps(); newMap2.Indicator_ID = indicator2.Indicator_ID; newMap2.CoE_ID = coeID2; newMap2.Fiscal_Year = fiscalYear; db.Indicator_CoE_Maps.Add(newMap2); db.SaveChanges(); var colorID = (Int16)newMap.Indicator.GetType().GetProperty(FiscalYear.FYStrFull("FY_", fiscalYear) + "Color_ID").GetValue(newMap.Indicator, null); return Json(new { indicatorID = indicator.Indicator_ID, mapID = newMap.Map_ID, newAreaID = indicator.Area_ID, colorID = colorID, indicatorID2 = indicator2.Indicator_ID, mapID2 = newMap2.Map_ID, newAreaID2 = indicator2.Area_ID, colorID2 = colorID }, JsonRequestBehavior.AllowGet); }
public JsonResult newIndicatorAtPR(Int16 fiscalYear, Int16 areaID, Int16 coeID, Int16 indicatorID, Int16? newIndicatorID) { Indicators indicator = new Indicators(); if (newIndicatorID.HasValue) { indicator = db.Indicators.FirstOrDefault(x => x.Indicator_ID == newIndicatorID); } else { indicator = db.Indicators.Create();//new Indicators(); db.Indicators.Add(indicator); db.SaveChanges(); indicator.Area_ID = areaID; var type = indicator.GetType(); var property = type.GetProperty(Helpers.FiscalYear.FYStrFull("FY_Color_ID", fiscalYear)); property.SetValue(indicator, Convert.ChangeType(1, property.PropertyType), null); indicator.Indicator = ""; db.Entry(indicator).State = EntityState.Modified; //db.Indicators.Add(indicator); db.SaveChanges(); } var newMap = new Indicator_CoE_Maps(); newMap.Indicator_ID = indicator.Indicator_ID; int number = 0; if (indicatorID != 0) { if (db.Indicator_CoE_Maps.Where(x => x.CoE_ID == coeID && x.Fiscal_Year == fiscalYear).FirstOrDefault(x => x.Indicator_ID == indicatorID) != null) { number = db.Indicator_CoE_Maps.Where(x => x.CoE_ID == coeID && x.Fiscal_Year == fiscalYear).FirstOrDefault(x => x.Indicator_ID == indicatorID).Number + 1; } else { number = 0; } } newMap.Number = (Int16)number; var allMaps = db.Indicator_CoE_Maps.ToList(); foreach (var map in allMaps.OrderBy(x => x.Number).Where(x => x.CoE_ID == coeID && x.Fiscal_Year == x.Fiscal_Year && x.Number >= number)) { map.Number++; db.Entry(map).State = EntityState.Modified; db.SaveChanges(); } newMap.CoE_ID = coeID; newMap.Fiscal_Year = fiscalYear; db.Indicator_CoE_Maps.Add(newMap); db.SaveChanges(); var colorID = (Int16)newMap.Indicator.GetType().GetProperty(FiscalYear.FYStrFull("FY_", fiscalYear) + "Color_ID").GetValue(newMap.Indicator, null); return Json(new { indicatorID = indicator.Indicator_ID, mapID = newMap.Map_ID, newAreaID = indicator.Area_ID, colorID = colorID}, JsonRequestBehavior.AllowGet); }