コード例 #1
0
ファイル: InstallController.cs プロジェクト: r0lan2/MyTAsks
        public ActionResult InstallDatabase()
        {
            try
            {
                var connectionString = MyTasks.Infrastructure.Configuration.Application.ConnectionString;
                DatabaseInstallerByObject.BuildDatabase(DatabaseInstallerByObject.ReadKeyFromPosition.Prefix, connectionString);

                TempData["InstallResult"] = new UpdateResult()
                {
                    IsSucceed     = true,
                    ResultMessage = Desktop.DatabaseInstalled
                };
                MvcApplication.ApplicationSettings =
                    ApplicationSettingContainer.Create(unitOfWork.ApplicationSettingsRepository.All().ToList());
                return(RedirectToAction("FirstInstall"));
            }
            catch (DatabaseInstallerException dbException)
            {
                TempData["InstallResult"] = new UpdateResult()
                {
                    IsSucceed     = false,
                    ResultMessage = Desktop.DatabaseInstallError + ":" + dbException.Message
                };
                return(RedirectToAction("FirstInstall"));
            }
        }
コード例 #2
0
ファイル: InstallController.cs プロジェクト: r0lan2/MyTAsks
        public ActionResult UpdateDatabase()
        {
            try
            {
                var connectionString = MyTasks.Infrastructure.Configuration.Application.ConnectionString;
                DatabaseInstallerByObject.BuildDatabase(DatabaseInstallerByObject.ReadKeyFromPosition.Prefix, connectionString);

                TempData["UpdateResult"] = new UpdateResult()
                {
                    IsSucceed     = true,
                    ResultMessage = Desktop.DatabaseUpdated
                };
                MvcApplication.ApplicationSettings = ApplicationSettingContainer.Create(unitOfWork.ApplicationSettingsRepository.All().ToList());

                return(RedirectToAction("Index"));
            }
            catch (DatabaseInstallerException dbException)
            {
                TempData["UpdateResult"] = new UpdateResult()
                {
                    IsSucceed     = false,
                    ResultMessage = Desktop.DbUpdateError + ":" + dbException.Message
                };
                Elmah.ErrorLog.GetDefault(System.Web.HttpContext.Current).Log(new Elmah.Error(dbException));
                return(RedirectToAction("Index"));
            }
        }
コード例 #3
0
ファイル: Global.asax.cs プロジェクト: r0lan2/MyTAsks
 private void SetApplicationSettings()
 {
     try
     {
         ApplicationSettings = ApplicationSettingContainer.Create(unitOfWork.ApplicationSettingsRepository.All().ToList());
     }
     catch (Exception e)
     {
         //do nothing because database is not created yet
     }
 }
コード例 #4
0
ファイル: InstallController.cs プロジェクト: r0lan2/MyTAsks
        public ActionResult CreateInstallDatabase()
        {
            try
            {
                var rootConnectionString = MyTasks.Infrastructure.Configuration.Application.RootConnectionString;
                var connectionString     = MyTasks.Infrastructure.Configuration.Application.ConnectionString;

                var databaseIsNotInstalled = !DatabaseInstallerByObject.IsDatabasseInstalled(rootConnectionString, connectionString);

                if (databaseIsNotInstalled)
                {
                    DatabaseInstallerByObject.CreateAndBuildDatabase(rootConnectionString, connectionString);

                    TempData["InstallResult"] = new UpdateResult()
                    {
                        IsSucceed     = true,
                        ResultMessage = Desktop.DatabaseInstalled
                    };
                    MvcApplication.ApplicationSettings =
                        ApplicationSettingContainer.Create(unitOfWork.ApplicationSettingsRepository.All().ToList());
                    return(RedirectToAction("FirstInstall"));
                }
                else
                {
                    TempData["InstallResult"] = new UpdateResult()
                    {
                        IsSucceed     = false,
                        ResultMessage = Desktop.DatabaseAlreadyInstalled
                    };
                    return(RedirectToAction("FirstInstall"));
                }
            }
            catch (DatabaseInstallerException dbException)
            {
                TempData["InstallResult"] = new UpdateResult()
                {
                    IsSucceed     = false,
                    ResultMessage = Desktop.DatabaseInstallError + ":" + dbException.Message
                };
                return(RedirectToAction("FirstInstall"));
            }
        }
コード例 #5
0
        public ActionResult EditAppSetting([Bind(Include = "SettingId,ConfigurationKey,ConfigurationValue,DefaultValue,Description")] ApplicationSettings setting)
        {
            if (setting == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            var appSettingToUpdate = unitOfWork.ApplicationSettingsRepository.FindById(setting.SettingId);

            try
            {
                unitOfWork.ApplicationSettingsRepository.UpdateSetting(setting.ConfigurationKey, setting.ConfigurationValue);
                unitOfWork.SaveChanges();
                MvcApplication.ApplicationSettings = ApplicationSettingContainer.Create(unitOfWork.ApplicationSettingsRepository.All().ToList());
                return(RedirectToAction("Index"));
            }
            catch (Exception /* dex */)
            {
                //Log the error (uncomment dex variable name and add a line here to write a log.
                ModelState.AddModelError("", "Unable to save changes. Try again, and if the problem persists, see your system administrator.");
            }

            return(View(appSettingToUpdate));
        }