コード例 #1
0
        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));
        }
コード例 #2
0
        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));
        }
コード例 #3
0
ファイル: DIMsController.cs プロジェクト: stashukny/DHConfig
        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));
        }
コード例 #4
0
        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));
        }
コード例 #5
0
ファイル: DIMsController.cs プロジェクト: stashukny/DHConfig
        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));
        }
コード例 #6
0
        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));
        }
コード例 #7
0
        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));
        }
コード例 #8
0
        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));
        }
コード例 #9
0
        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));
        }
コード例 #10
0
        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));
        }