public ActionResult editFootnoteMaps(IList<Indicator_Footnote_MapsViewModel> newMapsViewModel) { var newMaps = new Indicator_Footnote_Maps(); newMaps.Indicator_ID = newMapsViewModel.FirstOrDefault().Indicator_ID; newMaps.Footnote_ID = newMapsViewModel.FirstOrDefault().Footnote_Symbol_1 == null ? null : db.Footnotes.ToList().FirstOrDefault(x => x.Footnote_Symbol == newMapsViewModel.FirstOrDefault().Footnote_Symbol_1).Footnote_ID; newMaps.Map_ID = newMapsViewModel.FirstOrDefault().Map_ID_1; var mapID = newMaps.Map_ID; var footnoteID = newMaps.Footnote_ID; if (footnoteID == null) { var deleteMap = db.Indicator_Footnote_Maps.Find(newMaps.Map_ID); if (deleteMap != null) { db.Indicator_Footnote_Maps.Remove(deleteMap); db.SaveChanges(); } return View(); } else if (db.Indicator_Footnote_Maps.Any(x => x.Map_ID == mapID)) { if (ModelState.IsValid && db.Footnotes.Any(x => x.Footnote_ID == footnoteID)) { db.Entry(newMaps).State = EntityState.Modified; db.SaveChanges(); return View(); } else { var oldMap = db.Indicator_Footnote_Maps.Find(newMaps.Map_ID); var viewModel = new { Map_ID = oldMap.Map_ID, Footnote_ID = oldMap.Footnote_ID, Indicator_ID = oldMap.Indicator_ID, State = "InvalidChange" }; return Json(viewModel, JsonRequestBehavior.AllowGet); } } else { if (ModelState.IsValid && db.Footnotes.Any(x => x.Footnote_ID == footnoteID)) { db.Indicator_Footnote_Maps.Add(newMaps); db.SaveChanges(); var viewModel = new { Map_ID = newMaps.Map_ID, Footnote_ID = newMaps.Footnote_ID , Indicator_ID = newMaps.Indicator_ID, State = "NewID" }; return Json(viewModel, JsonRequestBehavior.AllowGet); } else if (ModelState.IsValid && !db.Footnotes.Any(x => x.Footnote_ID == footnoteID)) { var viewModel = new { State = "InvalidAdd" }; return Json(viewModel, JsonRequestBehavior.AllowGet); } } return View(); }
public JsonResult setValueOld(Int16 indicatorID, string updateProperty, string updateValue, string updateValueSup, Int16 fiscalYear, bool? convertToFull) { var indicator = db.Indicators.FirstOrDefault(x => x.Indicator_ID == indicatorID); if (updateProperty == "Format_ID"){ string formatStr = ""; try { indicator.Format_ID = Int16.Parse(updateValue); db.Entry(indicator).State = EntityState.Modified; db.SaveChanges(); } catch { } finally { var format = db.Formats.FirstOrDefault(x => x.Format_ID == indicator.Format_ID); if (format != null) { formatStr = format.Format_Code; } } return Json(formatStr, JsonRequestBehavior.AllowGet); } if (convertToFull.HasValue && convertToFull.Value) { updateProperty = FiscalYear.FYStrFull(updateProperty, fiscalYear); } var type = indicator.GetType(); var property = type.GetProperty(updateProperty); property.SetValue(indicator, Convert.ChangeType(updateValue, property.PropertyType), null); updateLinks(indicator.Indicator_ID, updateValue, updateProperty, fiscalYear); if (updateProperty != "Indicator") { if (updateValueSup != "%NULL%") { var propertySup = indicator.GetType().GetProperty(updateProperty + "_Sup"); if (propertySup != null) { propertySup.SetValue(indicator, Convert.ChangeType(updateValueSup, property.PropertyType), null); } } } else { if (updateValueSup != null) { var footnotes = updateValueSup.Split(','); foreach (var map in db.Indicator_Footnote_Maps.Where(x => x.Indicator_ID == indicatorID).ToList()) { db.Indicator_Footnote_Maps.Remove(map); } db.SaveChanges(); foreach (var footnote in footnotes) { if (footnote != "%NULL%") { Footnotes footnoteObj = db.Footnotes.FirstOrDefault(x => x.Footnote_Symbol == footnote.Trim()); if (footnoteObj != null) { Int16 footnoteID = footnoteObj.Footnote_ID; var newMap = new Indicator_Footnote_Maps { Footnote_ID = footnoteID, Indicator_ID = indicatorID, Fiscal_Year = fiscalYear, }; db.Indicator_Footnote_Maps.Add(newMap); db.SaveChanges(); } } } } } if (ModelState.IsValid) { db.Entry(indicator).State = EntityState.Modified; db.SaveChanges(); } var propertyColor = type.GetProperty(updateProperty + "_Color"); if (propertyColor != null) { var color = propertyColor.GetValue(indicator, null); return Json(color, JsonRequestBehavior.AllowGet); } else { return Json("", JsonRequestBehavior.AllowGet); } }
public JsonResult setValue(Int16 indicatorID, string updateProperty, string updateValue, string updateValueSup, Int16 fiscalYear) { var indicator = db.Indicators.FirstOrDefault(x => x.Indicator_ID == indicatorID); var type = indicator.GetType(); var property = type.GetProperty(updateProperty); property.SetValue(indicator, Convert.ChangeType(updateValue, property.PropertyType), null); if (updateProperty != "Indicator") { if (updateValueSup != "%NULL%") { var propertySup = indicator.GetType().GetProperty(updateProperty + "_Sup"); if (propertySup != null) { propertySup.SetValue(indicator, Convert.ChangeType(updateValueSup, property.PropertyType), null); } } } else { var footnotes = updateValueSup.Split(','); foreach (var map in db.Indicator_Footnote_Maps.Where(x => x.Indicator_ID == indicatorID).ToList()) { db.Indicator_Footnote_Maps.Remove(map); } db.SaveChanges(); foreach (var footnote in footnotes) { if (footnote != "%NULL%") { Footnotes footnoteObj = db.Footnotes.FirstOrDefault(x => x.Footnote_Symbol == footnote.Trim()); if (footnoteObj != null) { Int16 footnoteID = footnoteObj.Footnote_ID; var newMap = new Indicator_Footnote_Maps { Footnote_ID = footnoteID, Indicator_ID = indicatorID, Fiscal_Year = fiscalYear, }; db.Indicator_Footnote_Maps.Add(newMap); db.SaveChanges(); } } } } if (ModelState.IsValid) { db.Entry(indicator).State = EntityState.Modified; db.SaveChanges(); } var propertyColor = type.GetProperty(updateProperty + "_Color"); if (propertyColor != null) { var color = propertyColor.GetValue(indicator,null); return Json(color, JsonRequestBehavior.AllowGet); } else { return Json("", JsonRequestBehavior.AllowGet); } //var indicatorID = indicatorChange[0].Indicator_ID; //if (db.Indicators.Any(x => x.Indicator_ID == indicatorID )) //{ // if (ModelState.IsValid) // { // db.Entry(indicatorChange[0]).State = EntityState.Modified; // db.SaveChanges(); // } //} //else //{ // if (ModelState.IsValid) // { // db.Indicators.Add(indicatorChange[0]); // db.SaveChanges(); // } //} }
public JsonResult setValueFootnotes(Int16 indicatorID, string updateProperty, string updateValue, string updateValueSup, Int16 fiscalYear) { var indicator = db.Indicators.FirstOrDefault(x => x.Indicator_ID == indicatorID); var footnotes = updateValueSup.Split(','); foreach (var map in db.Indicator_Footnote_Maps.Where(x => x.Indicator_ID == indicatorID).ToList()) { db.Indicator_Footnote_Maps.Remove(map); } db.SaveChanges(); foreach (var footnote in footnotes) { if (footnote != "%NULL%") { Footnotes footnoteObj = db.Footnotes.FirstOrDefault(x => x.Footnote_Symbol == footnote.Trim()); if (footnoteObj != null) { Int16 footnoteID = footnoteObj.Footnote_ID; var newMap = new Indicator_Footnote_Maps { Footnote_ID = footnoteID, Indicator_ID = indicatorID, Fiscal_Year = fiscalYear, }; db.Indicator_Footnote_Maps.Add(newMap); db.SaveChanges(); } } } if (ModelState.IsValid) { db.Entry(indicator).State = EntityState.Modified; db.SaveChanges(); } return Json("", JsonRequestBehavior.AllowGet); }