public ActionResult Index() { this.Server.ScriptTimeout = 300; var model = new InstallDatabaseModel { Datasource = ".", Database = "sms", AdminUsername = "******", Username = "******", Password = "", AdminPassword = "******", UserId = 1, Email = "*****@*****.**" }; model.School.FullName = "Test School"; model.School.AcadmicYearName = (DateTime.Now.Month <= 3 ? Convert.ToString(Convert.ToInt32(DateTime.Now.ToString("yyyy")) - 1) : Convert.ToString(Convert.ToInt32(DateTime.Now.ToString("yyyy")))) + "-" + (DateTime.Now.Month <= 3 ? Convert.ToString(Convert.ToInt32(DateTime.Now.ToString("yy"))) : Convert.ToString(Convert.ToInt32(DateTime.Now.ToString("yy")) + 1)); return(View(model)); }
public ActionResult Index(InstallDatabaseModel model) { if (DatabaseHelper.DatabaseIsInstalled()) { return(RedirectToRoute("HomePage")); } //set page timeout to 5 minutes this.Server.ScriptTimeout = 300; string connectionString; if (ModelState.IsValid) { var webHelper = ContextHelper.Current.Resolve <IUrlHelper>(); try { var settingsManager = new DataSettingsContext(); connectionString = "Data Source=" + model.Datasource + ";Initial Catalog=" + model.Database + ";User id=" + model.Username + ";pwd=" + model.Password + ""; if (!SqlServerDatabaseExists(connectionString.Trim())) { //create database var collation = "SQL_Latin1_General_CP1_CI_AS"; var errorCreatingDatabase = CreateDatabase(connectionString, collation); if (!String.IsNullOrEmpty(errorCreatingDatabase)) { throw new Exception(errorCreatingDatabase); } var dataProvider = "sqlserver"; var settings = new DatabaseSettings { DataProvider = dataProvider, DataConnectionString = connectionString }; settingsManager.SaveSettings(settings); //init data provider var dataProviderInstance = ContextHelper.Current.Resolve <DataManager>().LoadDataProvider(); dataProviderInstance.InitDatabase(); //now resolve installation service var installationService = ContextHelper.Current.Resolve <IInstallationService>(); var school = new School(); school.AffiliationNumber = !String.IsNullOrEmpty(model.School.AffiliationNumber) ? model.School.AffiliationNumber.Trim() : ""; school.RegistrationNumber = !String.IsNullOrEmpty(model.School.RegistrationNumber) ? model.School.RegistrationNumber.Trim() : ""; school.AcadmicYearName = model.School.AcadmicYearName; school.City = !String.IsNullOrEmpty(model.School.City) ? model.School.City.Trim() : ""; school.State = !String.IsNullOrEmpty(model.School.State) ? model.School.State.Trim() : ""; school.Country = !String.IsNullOrEmpty(model.School.Country) ? model.School.Country.Trim() : ""; school.Street1 = !String.IsNullOrEmpty(model.School.Street1) ? model.School.Street1.Trim() : ""; school.Street2 = !String.IsNullOrEmpty(model.School.Street2) ? model.School.Street2.Trim() : ""; school.Landmark = !String.IsNullOrEmpty(model.School.Landmark) ? model.School.Landmark.Trim() : ""; school.ZipCode = !String.IsNullOrEmpty(model.School.ZipCode) ? model.School.ZipCode.Trim() : ""; school.FullName = !String.IsNullOrEmpty(model.School.FullName) ? model.School.FullName.Trim() : ""; school.Longitude = !String.IsNullOrEmpty(model.School.Longitude) ? model.School.Longitude.Trim() : ""; school.Latitude = !String.IsNullOrEmpty(model.School.Latitude) ? model.School.Latitude.Trim() : ""; school.FacebookLink = !String.IsNullOrEmpty(model.School.FacebookLink) ? model.School.FacebookLink.Trim() : ""; school.TweeterLink = !String.IsNullOrEmpty(model.School.TweeterLink) ? model.School.TweeterLink.Trim() : ""; school.InstagramLink = !String.IsNullOrEmpty(model.School.InstagramLink) ? model.School.InstagramLink.Trim() : ""; school.GooglePlusLink = !String.IsNullOrEmpty(model.School.GooglePlusLink) ? model.School.GooglePlusLink.Trim() : ""; school.PInterestLink = !String.IsNullOrEmpty(model.School.PInterestLink) ? model.School.PInterestLink.Trim() : ""; school.SchoolGuid = new Guid(); school.CoverPictureId = model.School.CoverPictureId; school.ProfilePictureId = model.School.ProfilePictureId; school.Email = model.School?.Email; installationService.InstallData(model.AdminUsername, model.AdminPassword, school); //reset cache DatabaseHelper.ResetCache(); //Redirect to home page return(RedirectToRoute("Root")); } } catch (Exception ex) { throw new Exception(ex.Message); } } return(View(model)); }