Exemplo n.º 1
0
        public ActionResult RecreateDb()
        {
            DbStatistic stat = this.getStat();

            if (stat.HasAppKey)
            {
                Database     db  = new Database(stat.DbPAth);
                MethodResult res = db.CreateIfNotExistDataBase();
                if (res.isSuccess)
                {
                    if (db.CreateAllTablesIfNotExist())
                    {
                        TempData["message"] = "База данных перегенерирована! Несуществовавшие объекты созданы!";
                    }
                    else
                    {
                        TempData["message"] = "База данных перегенерирована! Но некоторые объекты не были созданы!";
                    }
                }
                else
                {
                    TempData["message"] = "При перегенерации базы возникли ошибки!\n" + res.Message;
                }
            }
            else
            {
                TempData["message"] = "Ошибка! Не определен путь к базе данных в файле конфигурации";
            }
            return(RedirectToAction("DbStatus"));
        }
Exemplo n.º 2
0
        public ActionResult DbStatus()
        {
            DbStatistic stat = this.getStat();

            ViewBag.hasPath  = stat.HasAppKey;
            ViewBag.dbStatus = stat.DbStatus;
            ViewBag.dbpath   = stat.DbPAth;
            return(PartialView());
        }
Exemplo n.º 3
0
        private DbStatistic getStat()
        {
            DbStatistic stat = new DbStatistic();

            stat.HasAppKey = ConfigurationManager.AppSettings.AllKeys.Contains("dbPath");
            stat.DbPAth    = stat.HasAppKey ? ConfigurationManager.AppSettings["dbPath"] : "";
            if (stat.HasAppKey)
            {
                Database db = new Database(ConfigurationManager.AppSettings["dbPath"]);
                stat.DbStatus = db.IsDataBaseExist();
            }
            else
            {
                stat.DbStatus = false;
            }
            return(stat);
        }