/// <summary> /// /// </summary> /// <param name="generatorComponent"></param> /// <param name="project"></param> public static void UpdateProjectSettingsForPlugin(SupportedPluginComponent generatorComponent, Project project) { _logger.Trace("PluginsManager.UpdateProjectSettingsForPlugin()"); if (generatorComponent != null) { var template = generatorComponent.Item as IGeneratorTemplate; if (template != null) { var type = template.GetType(); string guid = ((GuidAttribute)(type.Assembly.GetCustomAttributes(typeof(GuidAttribute), true)[0])).Value; var pluginProperties = Data.ProjectsController.GetPluginProperties(project, guid); if (pluginProperties != null && pluginProperties.Parameters != null) { PluginSettings settings = new PluginSettings(); foreach (PluginParameter parameter in pluginProperties.Parameters) { var value = new PluginSettingValue(); value.Key = parameter.Code; value.Value = parameter.Value; value.UseDefault = parameter.UseDefault; value.Type = parameter.Type; settings.Add(value); } template.UpdateSettings(settings); } } } }
/// <summary> /// /// </summary> /// <param name="generatorComponent"></param> /// <param name="settings"></param> public static void UpdateSettingsForPlugin(SupportedPluginComponent generatorComponent, PluginSettings settings) { _logger.Trace("PluginsManager.UpdateSettingsForPlugin()"); if (generatorComponent != null) { var template = generatorComponent.Item as IGeneratorTemplate; if (template != null) { template.UpdateSettings(settings); } } }
/// <summary> /// /// </summary> /// <param name="generatorItem"></param> /// <returns></returns> public static PluginSettings GetSettingsFromPlugin(SupportedPluginComponent generatorItem) { _logger.Trace("PluginsManager.GetSettingsFromPlugin()"); if (generatorItem != null) { var template = generatorItem.Item as IGeneratorTemplate; if (template != null) { return(template.Settings); } } return(null); }
/// <summary> /// /// </summary> /// <param name="generatorItem"></param> /// <returns></returns> public static bool ShowTemplateOptions(SupportedPluginComponent generatorItem) { _logger.Trace("PluginsManager.ShowTemplateOptions()"); if (generatorItem != null) { var template = generatorItem.Item as IGeneratorTemplate; if (template != null) { return(template.ShowOptionsForm()); } } return(false); }
/// <summary> /// /// </summary> /// <param name="accessModelItem"></param> /// <returns></returns> public static bool CheckIfPluginHaveCustomConnectionStringsForm(SupportedPluginComponent accessModelItem) { _logger.Trace("PluginsManager.CheckIfPluginHaveCustomConnectionStringsForm()"); if (accessModelItem != null) { var controller = accessModelItem.Item as IAccessModelController; if (controller != null) { return(controller.HaveCustomConnectionStringForm); } } return(false); }
/// <summary> /// /// </summary> /// <param name="generatorItem"></param> /// <returns></returns> public static bool CheckIfPluginHaveOptions(SupportedPluginComponent generatorItem) { _logger.Trace("PluginsManager.CheckIfPluginHaveOptions()"); if (generatorItem != null) { var template = generatorItem.Item as IGeneratorTemplate; if (template != null) { return(template.HaveOptions); } } return(false); }
/// <summary> /// /// </summary> /// <param name="generatorItem"></param> /// <returns></returns> public static List <GeneratorComponent> GetComponents(SupportedPluginComponent generatorItem) { _logger.Trace("PluginsManager.GetComponents()"); if (generatorItem != null) { var template = generatorItem.Item as IGeneratorTemplate; if (template != null) { return(template.GetComponents()); } } return(new List <GeneratorComponent>()); }
/// <summary> /// Gets the type of the data base. /// </summary> /// <param name="accessModelType">Type of the access model.</param> /// <returns></returns> public static EnumDatabaseTypes GetDataBaseType(SupportedPluginComponent accessModelType) { _logger.Trace("PluginsManager.GetDataBaseType('{0}')", accessModelType.Assembly); if (accessModelType != null) { var controller = accessModelType.Item as IAccessModelController; if (controller != null) { return((EnumDatabaseTypes)Enum.Parse(typeof(EnumDatabaseTypes), controller.DatabaseTypeCode)); } } return(default(EnumDatabaseTypes)); }
/// <summary> /// Gets the project. /// </summary> /// <returns></returns> public Project GetProject() { Project project = Data.ProjectsController.CreateEmptyProject(txtProjectName.Text, txtProjectDirectory.Text); SupportedPluginComponent item = (SupportedPluginComponent)cmbDatabaseType.SelectedItem; project.Type = PluginsManager.GetDataBaseType(item); project.Controller = new Domain.ProjectController { Guid = item.Guid, Plugin = item.Type, ConnectionString = txtConnectionString.Text, Encrypt = chkEncrypt.Checked }; project.Description = txtProjectDescription.Text; return(project); }
/// <summary> /// Validates the form. /// </summary> /// <returns></returns> public bool ValidateForm() { if (string.IsNullOrWhiteSpace(txtProjectName.Text)) { MessageBoxHelper.ValidationMessage("Project name isn't specified"); txtProjectName.Focus(); return(false); } if (string.IsNullOrWhiteSpace(txtProjectDirectory.Text)) { MessageBoxHelper.ValidationMessage("Project location isn't specified"); txtProjectDirectory.Focus(); return(false); } bool _dataBaseTypeSelected = false; Invoke((MethodInvoker) delegate { _dataBaseTypeSelected = cmbDatabaseType.SelectedItem == null; }); if (_dataBaseTypeSelected) { MessageBoxHelper.ValidationMessage("Database Type isn't specified"); cmbDatabaseType.Focus(); return(false); } if (string.IsNullOrWhiteSpace(txtConnectionString.Text)) { MessageBoxHelper.ValidationMessage("Connection string isn't specified"); txtConnectionString.Focus(); return(false); } else { SupportedPluginComponent item = null; Invoke((MethodInvoker) delegate { item = cmbDatabaseType.SelectedItem as SupportedPluginComponent; }); if (item != null) { var plugin = item.Item as IAccessModelController; if (plugin != null) { if (!plugin.CheckConnection(txtConnectionString.Text)) { return(false); } } } } if (Directory.Exists(txtProjectDirectory.Text)) { if (!FolderHelper.IsDirectoryEmpty(txtProjectDirectory.Text) && !MessageBoxHelper.ValidationQuestion("Selected directory isn't empty. Are you sure you want the project in the selected location?")) { return(false); } } return(true); }