bool UiAction_SaveProject() { if (!_currentProject_Opened) { dlgSaveProject.Title = "Save Project"; if (dlgSaveProject.ShowDialog() == DialogResult.OK) { string saveProect = dlgSaveProject.FileName; ProjectDefinaton.SaveToFile(_projectDefinaton, saveProect); _currentProject_Filename = saveProect; _currentProject_Opened = true; Refresh_ProjectDefinaton(); SetModified(false); // menu list! _recentProjects.NewFileOperation(saveProect); _recentProjects.Rebuild(); return(true); } else { return(false); } } else { ProjectDefinaton.SaveToFile(_projectDefinaton, _currentProject_Filename); SetModified(false); return(true); } }
void UiAction_OpenProjectDirect(string projectFile) { if (!File.Exists(projectFile)) { if (MessageBox.Show("Project file does not exists:\n" + projectFile + "\n\nWould you like to remove it from recent list?", "Open project", MessageBoxButtons.YesNo, MessageBoxIcon.Stop) == DialogResult.Yes) { _recentProjects.RemoveFile(projectFile); _recentProjects.Rebuild(); } return; } try { ProjectDefinaton openProject = ProjectDefinaton.LoadFromFile(projectFile); // Load patterns first try { Reload_ProjectDefinaton( Common.AppVarPathMakeAbsolute(openProject.CodeGenSettings.CodeGenPatternFile)); } catch { if (MessageBox.Show("Failed to open the pattern project from selected project!\nWould you like ignore this error and continue?", "Open project", MessageBoxButtons.YesNo, MessageBoxIcon.Stop) == DialogResult.No) { return; } // continue to read others! } // assign new project _projectDefinaton = openProject; // refresh form Refresh_Form(); // save the file name _currentProject_Filename = projectFile; _currentProject_Opened = true; // menu list! _recentProjects.NewFileOperation(projectFile); _recentProjects.Rebuild(); // The project is fresh SetModified(false); } catch (Exception) { MessageBox.Show("Failed to open the selected project!", "Open project", MessageBoxButtons.OK, MessageBoxIcon.Stop); } }
void UiAction_ProjectOptions() { using (var frm = new frmProjectDetails(frmProjectDetails.FormEditMode.Edit)) { frm.ProjectInstance = (ProjectDefinaton)_projectDefinaton.Clone(); if (frm.ShowDialog() == DialogResult.OK) { _projectDefinaton = frm.ProjectInstance; Refresh_Form(); SetModified(true); } } }
void InitializeApplication() { _projectDefinaton = ProjectDefinaton.LoadDefaultProject(); _patternProject = new PatternProject(); _recentProjects = new RecentProjects(mnuReopen, mnuReopenRecentFile_Click); Reload_ProjectDefinaton(); // refresh presentation Refresh_Form(true); // recent projects list InitializeRecentMenu(); // Modified SetModified(false); }
void UiAction_SaveAsProject() { dlgSaveProject.Title = "Save Project As"; if (dlgSaveProject.ShowDialog() == DialogResult.OK) { string saveProect = dlgSaveProject.FileName; ProjectDefinaton.SaveToFile(_projectDefinaton, saveProect); _currentProject_Filename = saveProect; _currentProject_Opened = true; Refresh_ProjectDefinaton(); SetModified(false); _recentProjects.NewFileOperation(saveProect); _recentProjects.Rebuild(); } }
void UiAction_NewProject() { using (var frmNew = new frmProjectDetails(frmProjectDetails.FormEditMode.New)) { frmNew.ProjectInstance = ProjectDefinaton.LoadDefaultProject(); if (frmNew.ShowDialog() == DialogResult.OK) { _projectDefinaton = frmNew.ProjectInstance; _patternProject = PatternProject.ReadFromFile( Common.AppVarPathMakeAbsolute(_projectDefinaton.CodeGenSettings.CodeGenPatternFile)); Refresh_Form(true); SetModified(true); _currentProject_Opened = false; // Reload everything } } }
public void InitializeSchemaProject() { Project = new ProjectDefinaton(); Pattern = new PatternProject(); Database = new DbDatabase(); Project.GenerationPath = Path.Combine(Path.GetTempPath(), @"SalarDbCodeGenerator.Tests\" + DateTime.Now.Ticks); Project.ProjectName = "SalarDbCodeGenerator.Tests"; Pattern.LanguageSettings.KeywordsCaseSensitive = true; Pattern.LanguageSettings.LanguageInvalidChars = ", ./<>?;'\\:\"|[]{}`-=~!@#$%^&*()+"; Pattern.LanguageSettings.LanguageInvalidCharsSuppress = '_'; Pattern.LanguageSettings.LanguageKeywords.AddRange(new string[] { "readonly", "base", "break", "byte", "case", "catch", "checked", "class", "const", "continue", "default", "delegate", "do", "value", "else", "enum", "event", "explicit", "extern", "false", "finally", "fixed", "for", "foreach", "goto", "if", "implicit", "in", "interface", "internal", "is", "namespace", "new", "null", "object", "operator", "out", "override", "private", "protected", "public", "readonly", "ref", "return", "sealed", "sizeof", "static", "struct", "switch", "this", "throw", "true", "try", "typeof", "typeof", "unchecked", "unsafe", "using", "virtual", "while" }); Pattern.LanguageSettings.NullableDataTypes.AddRange(new[] { "String", "Object" }); Pattern.LanguageSettings.ExplicitCastDataTypes.AddRange(new[] { "Object", "Guid", "DateTimeOffset", "TimeSpan" }); Pattern.LanguageSettings.VoidDataType = "void"; Pattern.LanguageSettings.TextFieldIdenticator = "text"; Pattern.LanguageSettings.ArrayIdenticator = "[]"; Pattern.LanguageSettings.DbDecimalName = "decimal"; Pattern.LanguageSettings.DbNumericName = "numeric"; Pattern.LanguageSettings.DbDecimalType = "decimal([:Precision:],[:Scale:])"; Pattern.LanguageSettings.DbNumericType = "numeric([:Precision:],[:Scale:])"; Pattern.LanguageSettings.LanguageKeywordsSuppress = "{0}_{1}"; Database.DatabaseName = "SalarDbCodeGeneratorTests"; Database.Provider = DatabaseProvider.SQLServer; }
public SchemaAnalyzer(ProjectDefinaton project, PatternProject pattern, DbDatabase database) { _patternProject = pattern; _projectDef = project; _database = database; }
private void InitializeProjectModel() { if (ProjectInstance == null) { // load default settings ProjectInstance = ProjectDefinaton.LoadDefaultProject(); } ProjectInstance.ProjectName = txtProjectName.Text; ProjectInstance.CodeGenSettings.DefaultNamespace = txtNamespace.Text; ProjectInstance.GenerationPath = txtGenerationPath.Text; ProjectInstance.CodeGenSettings.CodeGenPatternFile = txtPatternfile.Text; ProjectInstance.CodeGenSettings.GenerateTablesForeignKeys = chkGenForeignKey.Checked; ProjectInstance.CodeGenSettings.GenerateColumnsDescription = chkGenDescription.Checked; ProjectInstance.CodeGenSettings.GenerateConstraintKeys = chkTableConstraintKeys.Checked; ProjectInstance.RenamingOptions.UnderlineWordDelimiter = chkRenUnderlineWordDelimiter.Checked; ProjectInstance.RenamingOptions.RemoveUnderline.Enabled = chkRenRemUnderline.Checked; ProjectInstance.RenamingOptions.RemoveUnderline.Tables = chkRenUnderlineTables.Checked; ProjectInstance.RenamingOptions.RemoveUnderline.Properties = chkRenUnderlineProps.Checked; ProjectInstance.RenamingOptions.CaseChange.Enabled = chkRenamingCase.Checked; ProjectInstance.RenamingOptions.CaseChange.Tables = chkRenCaseTables.Checked; ProjectInstance.RenamingOptions.CaseChange.Properties = chkRenCaseProps.Checked; ProjectInstance.RenamingOptions.CaseChangeMode = (ProjectRenaming.CaseChangeType)cmbRenamingCase.SelectedValue; if (pagerDatabaseProvider.SelectedTab == tabSQLServer) { ProjectInstance.DbSettions.ServerName = txtSqlHost.Text; ProjectInstance.DbSettions.DatabaseName = txtSqlDbName.Text; ProjectInstance.DbSettions.SqlUsername = txtSqlUsername.Text; ProjectInstance.DbSettions.SqlPassword = txtSqlPassword.Text; ProjectInstance.DbSettions.UseSqlAuthentication = rbtnSqlAuthentication.Checked; ProjectInstance.DbSettions.ConnectTimeout = Convert.ToInt32(txtSqlConnectTimeout.Text); ProjectInstance.DbSettions.DatabaseProvider = DatabaseProvider.SQLServer; } else if (pagerDatabaseProvider.SelectedTab == tabSQLite) { ProjectInstance.DbSettions.ServerName = txtSQLiteDatabaseName.Text; try { ProjectInstance.DbSettions.DatabaseName = Path.GetFileNameWithoutExtension(txtSQLiteDatabaseName.Text); } catch { } ProjectInstance.DbSettions.SqlUsername = ""; ProjectInstance.DbSettions.SqlPassword = txtSQLitePassword.Text; ProjectInstance.DbSettions.UseSqlAuthentication = false; ProjectInstance.DbSettions.ConnectTimeout = Convert.ToInt32(txtSQLiteConnectTimeout.Text); ProjectInstance.DbSettions.DatabaseProvider = DatabaseProvider.SQLite; } else if (pagerDatabaseProvider.SelectedTab == tabSqlCe) { ProjectInstance.DbSettions.ServerName = txtSqlCeDatabaseName.Text; try { ProjectInstance.DbSettions.DatabaseName = Path.GetFileNameWithoutExtension(txtSqlCeDatabaseName.Text); } catch { } ProjectInstance.DbSettions.SqlUsername = ""; ProjectInstance.DbSettions.SqlPassword = txtSqlCePassword.Text; if (string.IsNullOrEmpty(txtSqlCePassword.Text)) { ProjectInstance.DbSettions.UseSqlAuthentication = false; } else { ProjectInstance.DbSettions.UseSqlAuthentication = true; } ProjectInstance.DbSettions.ConnectTimeout = -1; ProjectInstance.DbSettions.DatabaseProvider = DatabaseProvider.SqlCe4; } else if (pagerDatabaseProvider.SelectedTab == tabOracle) { ProjectInstance.DbSettions.ServerName = txtOrclDataSource.Text; ProjectInstance.DbSettions.ConnectTimeout = Convert.ToInt32(txtOrclConnectTimeout.Text); ProjectInstance.DbSettions.UseSqlAuthentication = rbtnOrclSpecificUsernamePass.Checked; ProjectInstance.DbSettions.DatabaseName = txtOrclDbName.Text; ProjectInstance.DbSettions.SqlUsername = txtOrclUsername.Text; ProjectInstance.DbSettions.SqlPassword = txtOrclPassword.Text; ProjectInstance.DbSettions.OracleUseSysdbaRole = chkOrclUserRoleSYSDBA.Checked; ProjectInstance.DbSettions.DatabaseProvider = DatabaseProvider.Oracle; } else if (pagerDatabaseProvider.SelectedTab == tabPostgres) { ProjectInstance.DbSettions.ServerName = txtPgHost.Text; ProjectInstance.DbSettions.DatabaseName = txtPgDbName.Text; ProjectInstance.DbSettions.SqlUsername = txtPgUsername.Text; ProjectInstance.DbSettions.SqlPassword = txtPgPassword.Text; ProjectInstance.DbSettions.SchemaName = txtPgSchema.Text; ProjectInstance.DbSettions.DatabaseProvider = DatabaseProvider.Npgsql; } else if (pagerDatabaseProvider.SelectedTab == tabMySQL) { ProjectInstance.DbSettions.ServerName = txtMysqlHost.Text; ProjectInstance.DbSettions.DatabaseName = txtMysqlDbName.Text; ProjectInstance.DbSettions.SqlUsername = txtMysqlUsername.Text; ProjectInstance.DbSettions.SqlPassword = txtMysqlPassword.Text; ProjectInstance.DbSettions.DatabaseProvider = DatabaseProvider.MySql; } ProjectInstance.DbSettions.SuffixForTables = txtSuffixForTables.Text; ProjectInstance.DbSettions.SuffixForViews = txtSuffixForViews.Text; ProjectInstance.DbSettions.PrefixForTables = txtPrefixForTables.Text; ProjectInstance.DbSettions.PrefixForViews = txtPrefixForViews.Text; ProjectInstance.DbSettions.IgnoredPrefixes.Clear(); foreach (var item in lstIgnoredPrefixes.Items) { ProjectInstance.DbSettions.IgnoredPrefixes.Add(item.ToString()); } ProjectInstance.DbSettions.IgnoredSuffixes.Clear(); foreach (var item in lstIgnoredSuffixes.Items) { ProjectInstance.DbSettions.IgnoredSuffixes.Add(item.ToString()); } }