Esempio n. 1
0
        /// <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);
                    }
                }
            }
        }
Esempio n. 2
0
        /// <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);
                }
            }
        }
Esempio n. 3
0
        /// <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);
        }
Esempio n. 4
0
        /// <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);
        }
Esempio n. 5
0
        /// <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);
        }
Esempio n. 6
0
        /// <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);
        }
Esempio n. 7
0
        /// <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>());
        }
Esempio n. 8
0
        /// <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));
        }
Esempio n. 9
0
        /// <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);
        }
Esempio n. 10
0
        /// <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);
        }