public ActionResult Create([Bind(Include = "CONFIG_COMMON_NAME,DATA_SOURCE_NAME,SOURCE_COLUMN_NAME,SOURCE_COLUMN_DATA_TYPE,RAW_VIEW_COLUMN_NAME,RAW_VIEW_COLUMN_DATA_TYPE,IS_DIM_HASH,IS_IDENTITY,DERIVED_CONFIGURATION,COLUMN_NAME,DATA_SOURCE_FIELD_FEATURE")] DATA_SOURCE_FIELD dATA_SOURCE_FIELD, string[] SelectedItems, string CONFIG_COMMON_NAME, string DATA_SOURCE_NAME, string COLUMN_NAME) { dATA_SOURCE_FIELD.CONFIG_COMMON_NAME = Session["sClient"].ToString(); if (SelectedItems != null) { bool exists = BitwiseDictionaryChecker.IsExists(ref feature, SelectedItems, "DATA_SOURCE_FIELDS", db); dATA_SOURCE_FIELD.DATA_SOURCE_FIELD_FEATURE = feature; if (!exists) { ModelState.AddModelError(String.Empty, "Cannot create due to selection of invalid features."); return(RedirectToAction("Create")); } } if (ModelState.IsValid) { try { db.DATA_SOURCE_FIELD.Add(dATA_SOURCE_FIELD); db.SaveChanges(); } catch (Exception ex) { ModelState.AddModelError(String.Empty, ex.InnerException.InnerException.Message); return(RedirectToAction("Create", new { CONFIG_COMMON_NAME, DATA_SOURCE_NAME, COLUMN_NAME })); } db.SaveChanges(); return(RedirectToAction("Index")); } return(View(dATA_SOURCE_FIELD)); }
public ActionResult Create([Bind(Include = "CONFIG_COMMON_NAME,DATA_SOURCE_NAME,DATA_SOURCE_TYPE_GUID,DATA_SOURCE_TABLE_SCHEMA,DATA_SOURCE_TABLE_NAME,DATA_SOURCE_RAW_VIEW_SCHEMA,DATA_SOURCE_RAW_VIEW_NAME,DATA_SOURCE_TABLE_PROC_UPDATE_SCHEMA,DATA_SOURCE_TABLE_PROC_UPDATE_NAME,DATA_SOURCE_TABLE_PROC_INSERT_SCHEMA,DATA_SOURCE_TABLE_PROC_INSERT_NAME,DATA_SOURCE_TABLE_PROC_DELETE_SCHEMA,DATA_SOURCE_TABLE_PROC_DELETE_NAME,DATA_SOURCE_TABLE_PROC_DDL_PARENT_SCHEMA,DATA_SOURCE_TABLE_PROC_DDL_PARENT_NAME,DATA_SOURCE_RAW_UI_VIEW_SCHEMA,DATA_SOURCE_RAW_UI_VIEW_NAME,DATA_SOURCE_FEATURE,DATA_SOURCE_TEST_DATA_PROC_SCHEMA,DATA_SOURCE_TEST_DATA_PROC_NAME")] DATA_SOURCE dATA_SOURCE, string[] SelectedItems, string CONFIG_COMMON_NAME, string DATA_SOURCE_NAME) { dATA_SOURCE.CONFIG_COMMON_NAME = Session["sClient"].ToString(); if (SelectedItems != null) { bool exists = BitwiseDictionaryChecker.IsExists(ref feature, SelectedItems, "DATASOURCE_ATTRIBUTES", db); dATA_SOURCE.DATA_SOURCE_FEATURE = feature; if (!exists) { ModelState.AddModelError(String.Empty, "Cannot create due to selection of invalid features."); return(RedirectToAction("Create")); } } if (ModelState.IsValid) { try { db.DATA_SOURCE.Add(dATA_SOURCE); db.SaveChanges(); } catch (Exception ex) { ModelState.AddModelError(String.Empty, ex.InnerException.InnerException.Message); return(RedirectToAction("Create", new { CONFIG_COMMON_NAME, DATA_SOURCE_NAME })); } db.SaveChanges(); return(RedirectToAction("Index")); } return(View(dATA_SOURCE)); }
public ActionResult Create([Bind(Include = "CONFIG_COMMON_NAME,DIM_TYPE_GUID,DIM_COMMON_NAME,DIM_TABLE_SCHEMA,DIM_TABLE_NAME,DIM_LOAD_PROC_SCHEMA_RAW,DIM_LOAD_PROC_NAME_RAW,DIM_TABLE_CLEAN_SCHEMA,DIM_TABLE_CLEAN_NAME,DIM_PROC_UI_CLEAN_SCHEMA,DIM_PROC_UI_CLEAN_NAME,DIM_LOAD_PROC_CLEAN_SCHEMA,DIM_LOAD_PROC_CLEAN_NAME,DIM_VIEW_WHITELIST_SCHEMA,DIM_VIEW_WHITELIST_NAME,DIM_VIEW_RAW_SCHEMA,DIM_VIEW_RAW_NAME,DIM_VIEW_CLEAN_SCHEMA,DIM_VIEW_CLEAN_NAME,DIM_PROC_RAW_TABLE_CLEAN_ID_SCHEMA,DIM_PROC_RAW_TABLE_CLEAN_ID_NAME,DIM_FEATURE,DIM_TAXONOMY_PROC_SCHEMA,DIM_TAXONOMY_PROC_NAME,DIM_LOAD_PRE_PROC_SPROC_SCHEMA,DIM_LOAD_PRE_PROC_SPROC_NAME,DIM_LOAD_POST_PROC_SCHEMA,DIM_LOAD_POST_PROC_NAME,DIM_LOAD_PRE_PROC_CLEAN_SCHEMA,DIM_LOAD_PRE_PROC_CLEAN_NAME,DIM_LOAD_POST_PROC_CLEAN_SCHEMA,DIM_LOAD_POST_PROC_CLEAN_NAME,IS_STATIC,IS_AUTO_GENERATED")] string CONFIG_COMMON_NAME, string DIM_COMMON_NAME, DIM dIM, string[] SelectedItems) { dIM.CONFIG_COMMON_NAME = Session["sClient"].ToString(); if (SelectedItems != null) { bool exists = BitwiseDictionaryChecker.IsExists(ref feature, SelectedItems, "DIM", db); dIM.DIM_FEATURE = feature; if (!exists) { ModelState.AddModelError(String.Empty, "Cannot create due to selection of invalid features."); return(RedirectToAction("Create", new { CONFIG_COMMON_NAME = Request["CONFIG_COMMON_NAME"].ToString(), DIM_COMMON_NAME = Request["DIM_COMMON_NAME"].ToString() })); } } if (ModelState.IsValid) { try { db.DIMs.Add(dIM); db.SaveChanges(); } catch (Exception ex) { ModelState.AddModelError(String.Empty, ex.InnerException.InnerException.Message); return(RedirectToAction("Create", new { CONFIG_COMMON_NAME, DIM_COMMON_NAME })); } db.SaveChanges(); return(RedirectToAction("Index")); } return(View(dIM)); }
public ActionResult Edit([Bind(Include = "CONFIG_COMMON_NAME,FACT_COMMON_NAME,FACT_FIELD_NAME,OBJECT_TYPE_NAME,DIM_FIELD_NAME,FACT_FIELD_FEATURE")] FACT_FIELD fACT_FIELD, string[] SelectedItems, string CONFIG_COMMON_NAME, string FACT_COMMON_NAME, string FACT_FIELD_NAME) { if (SelectedItems != null) { bool exists = BitwiseDictionaryChecker.IsExists(ref feature, SelectedItems, "FACT_FIELDS", db); fACT_FIELD.FACT_FIELD_FEATURE = feature; if (!exists) { ModelState.AddModelError(String.Empty, "Cannot select due to invalid Features."); return(RedirectToAction("Edit", new { CONFIG_COMMON_NAME = Request["CONFIG_COMMON_NAME"].ToString(), FACT_COMMON_NAME = Request["FACT_COMMON_NAME"].ToString(), FACT_FIELD_NAME = Request["FACT_FIELD_NAME"].ToString() })); } } if (ModelState.IsValid) { //TODO: come back here string oldFACT_COMMON_NAME = Request["FACT_COMMON_NAME"].ToString(); string oldCONFIG_COMMON_NAME = Request["CONFIG_COMMON_NAME"].ToString(); string oldFACT_FIELD_NAME = Request["FACT_FIELD_NAME"].ToString(); if (oldFACT_COMMON_NAME != fACT_FIELD.FACT_COMMON_NAME || oldCONFIG_COMMON_NAME != fACT_FIELD.CONFIG_COMMON_NAME || oldFACT_FIELD_NAME != fACT_FIELD.FACT_FIELD_NAME) { var fact_fields = db.FACT_FIELD.Where(a => a.FACT_COMMON_NAME == oldFACT_COMMON_NAME && a.CONFIG_COMMON_NAME == oldCONFIG_COMMON_NAME && a.FACT_FIELD_NAME == oldFACT_FIELD_NAME); foreach (var f in fact_fields) { db.FACT_FIELD.Remove(f); } db.FACT_FIELD.Add(fACT_FIELD); } else { db.Entry(fACT_FIELD).State = EntityState.Modified; } try { db.SaveChanges(); } catch (Exception ex) { ModelState.AddModelError(String.Empty, ex.InnerException.InnerException.Message); return(RedirectToAction("Edit", new { CONFIG_COMMON_NAME = Request["CONFIG_COMMON_NAME"].ToString(), FACT_COMMON_NAME = Request["FACT_COMMON_NAME"].ToString(), FACT_FIELD_NAME = Request["FACT_FIELD_NAME"].ToString() })); } return(RedirectToAction("Index")); } return(View(fACT_FIELD)); }
public ActionResult Edit([Bind(Include = "CONFIG_COMMON_NAME,DIM_TYPE_GUID,DIM_COMMON_NAME,DIM_TABLE_SCHEMA,DIM_TABLE_NAME,DIM_LOAD_PROC_SCHEMA_RAW,DIM_LOAD_PROC_NAME_RAW,DIM_TABLE_CLEAN_SCHEMA,DIM_TABLE_CLEAN_NAME,DIM_PROC_UI_CLEAN_SCHEMA,DIM_PROC_UI_CLEAN_NAME,DIM_LOAD_PROC_CLEAN_SCHEMA,DIM_LOAD_PROC_CLEAN_NAME,DIM_VIEW_WHITELIST_SCHEMA,DIM_VIEW_WHITELIST_NAME,DIM_VIEW_RAW_SCHEMA,DIM_VIEW_RAW_NAME,DIM_VIEW_CLEAN_SCHEMA,DIM_VIEW_CLEAN_NAME,DIM_PROC_RAW_TABLE_CLEAN_ID_SCHEMA,DIM_PROC_RAW_TABLE_CLEAN_ID_NAME,DIM_FEATURE,DIM_TAXONOMY_PROC_SCHEMA,DIM_TAXONOMY_PROC_NAME,DIM_LOAD_PRE_PROC_SPROC_SCHEMA,DIM_LOAD_PRE_PROC_SPROC_NAME,DIM_LOAD_POST_PROC_SCHEMA,DIM_LOAD_POST_PROC_NAME,DIM_LOAD_PRE_PROC_CLEAN_SCHEMA,DIM_LOAD_PRE_PROC_CLEAN_NAME,DIM_LOAD_POST_PROC_CLEAN_SCHEMA,DIM_LOAD_POST_PROC_CLEAN_NAME,IS_STATIC,IS_AUTO_GENERATED")] DIM dIM, string[] SelectedItems, string CONFIG_COMMON_NAME, string DIM_COMMON_NAME) { if (SelectedItems != null) { bool exists = BitwiseDictionaryChecker.IsExists(ref feature, SelectedItems, "DIM", db); dIM.DIM_FEATURE = feature; if (!exists) { ModelState.AddModelError(String.Empty, "Cannot Edit due to invalid Features."); return(RedirectToAction("Edit", new { CONFIG_COMMON_NAME = Request["CONFIG_COMMON_NAME"].ToString(), DIM_COMMON_NAME = Request["DIM_COMMON_NAME"].ToString() })); } } if (ModelState.IsValid) { //TODO: come back here string oldDIM_COMMON_NAME = Request["DIM_COMMON_NAME"].ToString(); string oldCONFIG_COMMON_NAME = Request["CONFIG_COMMON_NAME"].ToString(); if (oldDIM_COMMON_NAME != dIM.DIM_COMMON_NAME || oldCONFIG_COMMON_NAME != dIM.CONFIG_COMMON_NAME) { var dims = db.DIMs.Where(a => a.DIM_COMMON_NAME == oldDIM_COMMON_NAME && a.CONFIG_COMMON_NAME == oldCONFIG_COMMON_NAME); foreach (var f in dims) { db.DIMs.Remove(f); } db.DIMs.Add(dIM); } else { db.Entry(dIM).State = EntityState.Modified; } try { db.SaveChanges(); } catch (Exception ex) { ModelState.AddModelError(String.Empty, ex.InnerException.InnerException.Message); return(RedirectToAction("Edit", new { CONFIG_COMMON_NAME = Request["CONFIG_COMMON_NAME"].ToString(), DIM_COMMON_NAME = Request["DIM_COMMON_NAME"].ToString() })); } return(RedirectToAction("Index")); } return(View(dIM)); }
public ActionResult Create([Bind(Include = "CONFIG_COMMON_NAME,DATA_SOURCE_NAME,FACT_COMMON_NAME,FACT_TABLE_SCHEMA,FACT_TABLE_NAME,FACT_FEATURE,DISTINCT_TABLE_KEY_SCHEMA,DISTINCT_TABLE_KEY_NAME,DISTINCT_TABLE_VALUE_SCHEMA,DISTINCT_TABLE_VALUE_NAME,DISTINCT_VALUE_PROCEDURE_SCHEMA,DISTINCT_VALUE_PROCEDURE_NAME,DISTINCT_KEY_PROCEDURE_SCHEMA,DISTINCT_KEY_PROCEDURE_NAME,FACT_LOAD_PROCEDURE_SCHEMA,FACT_LOAD_PROCEDURE_NAME,FACT_PRE_EXEC_SPROC_SCHEMA,FACT_PRE_EXEC_SPROC_NAME,FACT_POST_EXEC_SPROC_SCHEMA,FACT_POST_EXEC_SPROC_NAME,IS_AUTO_GENERATED_FACT_TABLE,IS_AUTO_GENERATED_LOAD_PROCEDURE")] FACT fACT, string[] SelectedItems, string CONFIG_COMMON_NAME, string FACT_COMMON_NAME) { fACT.CONFIG_COMMON_NAME = Session["sClient"].ToString(); if (SelectedItems != null) { bool exists = BitwiseDictionaryChecker.IsExists(ref feature, SelectedItems, "FACT", db); fACT.FACT_FEATURE = feature; if (!exists) { ModelState.AddModelError(String.Empty, "Cannot create due to selection of invalid features."); return(RedirectToAction("Create")); } } if (ModelState.IsValid) { try { db.FACTs.Add(fACT); 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 e; } catch (Exception ex) { ModelState.AddModelError(String.Empty, ex.InnerException.InnerException.Message); return(RedirectToAction("Create", new { CONFIG_COMMON_NAME, FACT_COMMON_NAME })); } db.SaveChanges(); return(RedirectToAction("Index")); } return(View(fACT)); }
public ActionResult Create([Bind(Include = "CONFIG_COMMON_NAME,FACT_COMMON_NAME,FACT_FIELD_NAME,OBJECT_TYPE_NAME,DIM_FIELD_NAME,FACT_FIELD_FEATURE")] FACT_FIELD fACT_FIELD, string[] SelectedItems, string CONFIG_COMMON_NAME, string FACT_COMMON_NAME, string FACT_FIELD_NAME) { fACT_FIELD.CONFIG_COMMON_NAME = Session["sClient"].ToString(); if (SelectedItems != null) { bool exists = BitwiseDictionaryChecker.IsExists(ref feature, SelectedItems, "FACT_FIELDS", db); fACT_FIELD.FACT_FIELD_FEATURE = feature; if (!exists) { ModelState.AddModelError(String.Empty, "Cannot create due to selection of invalid features."); return(RedirectToAction("Create")); } } if (ModelState.IsValid) { try { db.FACT_FIELD.Add(fACT_FIELD); 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 e; } catch (Exception ex) { ModelState.AddModelError(String.Empty, ex.InnerException.InnerException.Message); return(RedirectToAction("Create", new { CONFIG_COMMON_NAME, FACT_COMMON_NAME, FACT_FIELD_NAME })); } db.SaveChanges(); return(RedirectToAction("Index")); } return(View(fACT_FIELD)); }
public ActionResult Edit([Bind(Include = "CONFIG_COMMON_NAME,DATA_SOURCE_NAME,SOURCE_COLUMN_NAME,SOURCE_COLUMN_DATA_TYPE,RAW_VIEW_COLUMN_NAME,RAW_VIEW_COLUMN_DATA_TYPE,IS_DIM_HASH,IS_IDENTITY,DERIVED_CONFIGURATION,COLUMN_NAME,DATA_SOURCE_FIELD_FEATURE")] DATA_SOURCE_FIELD dATA_SOURCE_FIELD, string[] SelectedItems, string CONFIG_COMMON_NAME, string DATA_SOURCE_NAME, string COLUMN_NAME) { if (SelectedItems != null) { bool exists = BitwiseDictionaryChecker.IsExists(ref feature, SelectedItems, "DATA_SOURCE_FIELDS", db); dATA_SOURCE_FIELD.DATA_SOURCE_FIELD_FEATURE = feature; if (!exists) { ModelState.AddModelError(String.Empty, "Cannot due to invalid Features."); return(RedirectToAction("Edit", new { CONFIG_COMMON_NAME = Request["CONFIG_COMMON_NAME"].ToString(), DATA_SOURCE_NAME = Request["DATA_SOURCE_NAME"].ToString(), COLUMN_NAME = Request["COLUMN_NAME"].ToString() })); } } if (ModelState.IsValid) { //TODO: come back here string oldDATA_SOURCE_NAME = Request["DATA_SOURCE_NAME"].ToString(); string oldCONFIG_COMMON_NAME = Request["CONFIG_COMMON_NAME"].ToString(); string oldCOLUMN_NAME = Request["COLUMN_NAME"].ToString(); if (oldDATA_SOURCE_NAME != dATA_SOURCE_FIELD.DATA_SOURCE_NAME || oldCONFIG_COMMON_NAME != dATA_SOURCE_FIELD.CONFIG_COMMON_NAME || oldCOLUMN_NAME != dATA_SOURCE_FIELD.COLUMN_NAME) { var fact_fields = db.DATA_SOURCE_FIELD.Where(a => a.DATA_SOURCE_NAME == oldDATA_SOURCE_NAME && a.CONFIG_COMMON_NAME == oldCONFIG_COMMON_NAME && a.COLUMN_NAME == oldCOLUMN_NAME); foreach (var f in fact_fields) { db.DATA_SOURCE_FIELD.Remove(f); } db.DATA_SOURCE_FIELD.Add(dATA_SOURCE_FIELD); } else { db.Entry(dATA_SOURCE_FIELD).State = EntityState.Modified; } try { 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; } catch (Exception ex) { ModelState.AddModelError(String.Empty, ex.InnerException.InnerException.Message); return(RedirectToAction("Edit", new { CONFIG_COMMON_NAME = Request["CONFIG_COMMON_NAME"].ToString(), DATA_SOURCE_NAME = Request["DATA_SOURCE_NAME"].ToString(), COLUMN_NAME = Request["COLUMN_NAME"].ToString() })); } return(RedirectToAction("Index")); } return(View(dATA_SOURCE_FIELD)); }
public ActionResult Edit([Bind(Include = "CONFIG_COMMON_NAME,DATA_SOURCE_NAME,FACT_COMMON_NAME,FACT_TABLE_SCHEMA,FACT_TABLE_NAME,FACT_FEATURE,DISTINCT_TABLE_KEY_SCHEMA,DISTINCT_TABLE_KEY_NAME,DISTINCT_TABLE_VALUE_SCHEMA,DISTINCT_TABLE_VALUE_NAME,DISTINCT_VALUE_PROCEDURE_SCHEMA,DISTINCT_VALUE_PROCEDURE_NAME,DISTINCT_KEY_PROCEDURE_SCHEMA,DISTINCT_KEY_PROCEDURE_NAME,FACT_LOAD_PROCEDURE_SCHEMA,FACT_LOAD_PROCEDURE_NAME,FACT_PRE_EXEC_SPROC_SCHEMA,FACT_PRE_EXEC_SPROC_NAME,FACT_POST_EXEC_SPROC_SCHEMA,FACT_POST_EXEC_SPROC_NAME,IS_AUTO_GENERATED_FACT_TABLE,IS_AUTO_GENERATED_LOAD_PROCEDURE")] FACT fACT, string[] SelectedItems, string CONFIG_COMMON_NAME, string FACT_COMMON_NAME) { if (SelectedItems != null) { bool exists = BitwiseDictionaryChecker.IsExists(ref feature, SelectedItems, "FACT", db); fACT.FACT_FEATURE = feature; if (!exists) { ModelState.AddModelError(String.Empty, "Cannot Edit due to invalid Features."); return(RedirectToAction("Edit", new { CONFIG_COMMON_NAME = Request["CONFIG_COMMON_NAME"].ToString(), FACT_COMMON_NAME = Request["FACT_COMMON_NAME"].ToString() })); } } if (ModelState.IsValid) { //TODO: come back here string oldFACT_COMMON_NAME = Request["FACT_COMMON_NAME"].ToString(); string oldCONFIG_COMMON_NAME = Request["CONFIG_COMMON_NAME"].ToString(); if (oldFACT_COMMON_NAME != fACT.FACT_COMMON_NAME || oldCONFIG_COMMON_NAME != fACT.CONFIG_COMMON_NAME) { var facts = db.FACTs.Where(a => a.FACT_COMMON_NAME == oldFACT_COMMON_NAME && a.CONFIG_COMMON_NAME == oldCONFIG_COMMON_NAME); foreach (var f in facts) { db.FACTs.Remove(f); } db.FACTs.Add(fACT); } else { db.Entry(fACT).State = EntityState.Modified; } try { 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 e; } catch (Exception ex) { ModelState.AddModelError(String.Empty, ex.InnerException.InnerException.Message); return(RedirectToAction("Edit", new { CONFIG_COMMON_NAME = Request["CONFIG_COMMON_NAME"].ToString(), FACT_COMMON_NAME = Request["FACT_COMMON_NAME"].ToString() })); } return(RedirectToAction("Index")); } return(View(fACT)); }
public ActionResult Edit([Bind(Include = "CONFIG_COMMON_NAME,DATA_SOURCE_NAME,DATA_SOURCE_TYPE_GUID,DATA_SOURCE_TABLE_SCHEMA,DATA_SOURCE_TABLE_NAME,DATA_SOURCE_RAW_VIEW_SCHEMA,DATA_SOURCE_RAW_VIEW_NAME,DATA_SOURCE_TABLE_PROC_UPDATE_SCHEMA,DATA_SOURCE_TABLE_PROC_UPDATE_NAME,DATA_SOURCE_TABLE_PROC_INSERT_SCHEMA,DATA_SOURCE_TABLE_PROC_INSERT_NAME,DATA_SOURCE_TABLE_PROC_DELETE_SCHEMA,DATA_SOURCE_TABLE_PROC_DELETE_NAME,DATA_SOURCE_TABLE_PROC_DDL_PARENT_SCHEMA,DATA_SOURCE_TABLE_PROC_DDL_PARENT_NAME,DATA_SOURCE_RAW_UI_VIEW_SCHEMA,DATA_SOURCE_RAW_UI_VIEW_NAME,DATA_SOURCE_FEATURE,DATA_SOURCE_TEST_DATA_PROC_SCHEMA,DATA_SOURCE_TEST_DATA_PROC_NAME")] DATA_SOURCE dATA_SOURCE, string[] SelectedItems, string CONFIG_COMMON_NAME, string DATA_SOURCE_NAME) { if (SelectedItems != null) { bool exists = BitwiseDictionaryChecker.IsExists(ref feature, SelectedItems, "DATASOURCE_ATTRIBUTES", db); dATA_SOURCE.DATA_SOURCE_FEATURE = feature; if (!exists) { ModelState.AddModelError(String.Empty, "Cannot Edit due to invalid Features."); return(RedirectToAction("Edit", new { CONFIG_COMMON_NAME = Request["CONFIG_COMMON_NAME"].ToString(), DATA_SOURCE_NAME = Request["DATA_SOURCE_NAME"].ToString() })); } } if (ModelState.IsValid) { //TODO: come back here string oldCONFIG_COMMON_NAME = Request["CONFIG_COMMON_NAME"].ToString(); string oldDATA_SOURCE_NAME = Request["DATA_SOURCE_NAME"].ToString(); if (oldDATA_SOURCE_NAME != dATA_SOURCE.DATA_SOURCE_NAME || oldCONFIG_COMMON_NAME != dATA_SOURCE.CONFIG_COMMON_NAME) { var dATA_SOURCEs = db.DATA_SOURCE.Where(a => a.DATA_SOURCE_NAME == oldDATA_SOURCE_NAME && a.CONFIG_COMMON_NAME == oldCONFIG_COMMON_NAME); foreach (var f in dATA_SOURCEs) { db.DATA_SOURCE.Remove(f); } db.DATA_SOURCE.Add(dATA_SOURCE); } else { db.Entry(dATA_SOURCE).State = EntityState.Modified; } try { 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; } catch (Exception ex) { ModelState.AddModelError(String.Empty, ex.InnerException.InnerException.Message); return(RedirectToAction("Edit", new { CONFIG_COMMON_NAME = Request["CONFIG_COMMON_NAME"].ToString(), DATA_SOURCE_NAME = Request["DATA_SOURCE_NAME"].ToString() })); } return(RedirectToAction("Index")); } return(View(dATA_SOURCE)); }