public void Initialize(string reportSetupFilename) { if (reportSetupFilename.IsNullEmptyOrWhiteSpace()) { throw new ApplicationException("Database setup filename not provided."); } this.ReportSetupFileName = reportSetupFilename; if (File.Exists(this.ReportSetupFileName)) { string fileContent = File.ReadAllText(reportSetupFilename); this.ReportSetup = JsonConvert.DeserializeObject(fileContent, typeof(ReportSetupModel)) as ReportSetupModel; if (this.ReportSetup.DataBaseSource.IsEncrypted) { this.ReportSetup.DataBaseSource.Password = this.ReportSetup.DataBaseSource.Password.Decrypt(); this.ReportSetup.DataBaseSource.IsEncrypted = false; } } else { this.ReportSetup = new ReportSetupModel(); } }
public void InitializeReportsDB(ReportSetupModel reportSetup) { Dictionary <string, string> connectionValues = new Dictionary <string, string>(); connectionValues.Add("ServerName", reportSetup.DataBaseSource.ServerName); connectionValues.Add("DatabaseName", reportSetup.DataBaseSource.DatabaseName); connectionValues.Add("UserName", reportSetup.DataBaseSource.UserName); connectionValues.Add("Password", reportSetup.DataBaseSource.Password); connectionValues.Add("TrustedConnection", reportSetup.DataBaseSource.TrustedConnection.ParseToString()); DataAccess dataAccess = new DataAccess(DatabaseTypeEnum.SQL, connectionValues); var script = typeof(Properties.Resources) .GetProperties(BindingFlags.Static | BindingFlags.NonPublic | BindingFlags.Public) .Where(p => p.PropertyType == typeof(string) && p.Name == "ERD_Print") .Select(x => new { SqlScript = x.GetValue(null, null) }) .FirstOrDefault(); dataAccess.ExecuteNonQuery(script.SqlScript.ParseToString()); }
public void InitializeConnectionString(ReportSetupModel setupModel) { switch (setupModel.StorageType) { case StorageTypeEnum.MsSql: object[] args = new object[] { setupModel.DataBaseSource.ServerName, setupModel.DataBaseSource.DatabaseName, setupModel.DataBaseSource.UserName, setupModel.DataBaseSource.Password, setupModel.DataBaseSource.TrustedConnection }; this.ConnectionString = String.Format(msSqlConnectionString, args); break; case StorageTypeEnum.SQLite: //"Data Source=MyDatabase.sqlite;Version=3;"); // string sqLitePath = $"{setupModel.FileDirectory}\\ERD_Reports.sqlite"; // SQLiteConnectionStringBuilder builder = new SQLiteConnectionStringBuilder // { // DataSource = $"{sqLitePath};Version=3;" // }; // this.ConnectionString = builder.ConnectionString; // if (!File.Exists(sqLitePath)) //{ // SQLiteConnection.CreateFile(sqLitePath); // } break; } }