예제 #1
0
        /// <summary>
        /// Подключает кастомный DbContext, создает таблицы если их нет
        /// </summary>
        /// <returns></returns>
        public async Task <IActionResult> Createdatabase()
        {
            await _db.CreateNewDatabase(_configuration.GetSection("ConnectionStringsToMyDbContext")["MyDbContext"]);

            await _db.CreateAllTable(new List <object>() { new Position(), new Dep(), new Employee() });

            await _db.PutStoreProcedure(new List <object>() { new Position(), new Dep(), new Employee() });

            //использую хранимую процедуру - она должна быть
            //заранее создана из пункта меню Инициализации БД
            if (await _db.CountStorageProcedure(new Position()) < 3)
            {
                var list_position = new List <string>()
                {
                    "Директор", "Менеджер", "Инженер", "Бухгалтер", "Дизайнер"
                };
                var list_deps = new List <string>()
                {
                    "Управление", "Бухгалтерия", "Прозводство", "Маркетинг"
                };

                foreach (var i in list_position)
                {
                    await _db.Insert(new Position()
                    {
                        Name = i
                    });
                }

                foreach (var i in list_deps)
                {
                    await _db.Insert(new Dep()
                    {
                        Name = i
                    });
                }
            }

            _db.DataseseIsInitialized = true;

            return(RedirectToAction("Index"));
        }