private void IncrementNextGeneratedVersion()
        {
            ModelCacheFile cacheFile = new ModelCacheFile(_model.GeneratorProject);

            cacheFile.GeneratedVersion++;
            cacheFile.Save();
        }
예제 #2
0
        private void wizard1_Finish(object sender, EventArgs e)
        {
            if (chkModule.Items.Count > 0)
            {
                if (chkModule.CheckedItems.Count == 0)
                {
                    MessageBox.Show("You must select one or more modules for generation.", "Check Modules", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    return;
                }
            }

            var cacheFile = new ModelCacheFile(_generator);

            cacheFile.ExcludeList.Clear();
            foreach (var t in this.ExcludeList)
            {
                cacheFile.ExcludeList.Add(t.FullName);
            }

            cacheFile.GeneratedModuleList.Clear();
            foreach (string s in chkModule.CheckedItems)
            {
                cacheFile.GeneratedModuleList.Add(s);
            }

            cacheFile.Save();

            this.DialogResult = DialogResult.OK;
            this.Close();
        }
예제 #3
0
        public GenerateSettings(IGenerator generator, List <Type> generatorTypeList, List <Type> wizardTypeList)
            : this()
        {
            try
            {
                _generator      = generator;
                _wizardTypeList = wizardTypeList;

                var globalCacheFile = new GlobalCacheFile();
                var cacheFile       = new ModelCacheFile(_generator);
                foreach (var v in generatorTypeList)
                {
                    var attribute = v.GetCustomAttributes(typeof(GeneratorProjectAttribute), true).Cast <GeneratorProjectAttribute>().FirstOrDefault();
                    if (!globalCacheFile.ExcludeList.Contains(v.FullName))
                    {
                        _generatorMap.Add(attribute.Name, v);
                    }
                }
                this.LoadGenerators(true);
            }
            catch (Exception ex)
            {
                throw;
            }
        }
예제 #4
0
        public GenerateSettingsWizard(IGenerator generator, List <Type> generatorTypeList)
            : this()
        {
            //Only show this the first time if never generated
            var cacheFile = new ModelCacheFile(generator);

            if (cacheFile.FileExists())
            {
                this.DialogResult = DialogResult.Cancel;
                this.IsValid      = false;
                return;
            }

            _generatorTypeList = generatorTypeList;

            //Load all wizard files
            var xmlFileList = Directory.GetFiles(AddinAppData.Instance.ExtensionDirectory, "genwizard.*.xml");

            foreach (var fileName in xmlFileList)
            {
                this.LoadWizardFile(fileName);
            }

            if (cboItem.Items.Count == 0)
            {
                this.DialogResult = DialogResult.Cancel;
                this.IsValid      = false;
                return;
            }

            cboItem.SelectedIndex = 0;
        }
        private void cmdOK_Click(object sender, EventArgs e)
        {
            pnlProgress.Location = pnlMain.Location;
            pnlMain.Visible      = false;
            pnlProgress.Visible  = true;
            cmdOK.Enabled        = false;
            cmdCancel.Enabled    = false;

            if (_modelRoot != null)
            {
                var index = 0;
                foreach (Table t in _modelRoot.Database.Tables)
                {
                    this.ProcessColumnCollection(t.Columns);
                    this.progressBar1.Value = (int)((index * 100.0) / _modelRoot.Database.Tables.Count);
                    System.Windows.Forms.Application.DoEvents();
                    index++;
                }
            }
            else if (_columnCollection != null)
            {
                this.ProcessColumnCollection(_columnCollection);
            }

            //Save settings
            ModelCacheFile cacheFile = null;

            if (_modelRoot != null)
            {
                cacheFile = new ModelCacheFile(_modelRoot.GeneratorProject);
            }
            else
            {
                cacheFile = new ModelCacheFile(((ModelRoot)_columnCollection.Root).GeneratorProject);
            }
            var document = new XmlDocument();

            document.LoadXml("<a><z></z></a>");
            var containerNode = document.DocumentElement.ChildNodes[0];

            XmlHelper.AddAttribute(containerNode, "prefixChecked", optPrefix.Checked);
            XmlHelper.AddAttribute(containerNode, "prefix", txtPrefix.Text);
            XmlHelper.AddAttribute(containerNode, "replaceText", chkReplaceText.Checked);
            XmlHelper.AddAttribute(containerNode, "replaceSource", txtReplaceSource.Text);
            XmlHelper.AddAttribute(containerNode, "replaceTarget", txtReplaceTarget.Text);
            XmlHelper.AddAttribute(containerNode, "upcase", optUpcase.Checked);
            XmlHelper.AddAttribute(containerNode, "underscore", optUnderscore.Checked);
            XmlHelper.AddAttribute(containerNode, "TwoCaps", chkSkip2Caps.Checked);
            cacheFile.CodeFacadeSettings = document.OuterXml;
            cacheFile.Save();

            this.DialogResult = DialogResult.OK;
            this.Close();
        }
        public ColumnCodeFacadeUpdateForm(ReferenceCollection columnCollection, ModelRoot modelRoot, FieldSettingConstants fieldSetting)
            : this()
        {
            _columnCollection = columnCollection;
            _modelRoot        = modelRoot;
            _fieldSetting     = fieldSetting;

            if (_fieldSetting == FieldSettingConstants.Name)
            {
                this.Text = "Update Field";
            }
            else if (_fieldSetting == FieldSettingConstants.Name)
            {
                this.Text = "Update CodeFacade";
            }

            try
            {
                ModelCacheFile cacheFile = null;
                if (modelRoot != null)
                {
                    cacheFile = new ModelCacheFile(modelRoot.GeneratorProject);
                }
                else
                {
                    cacheFile = new ModelCacheFile(((ModelRoot)columnCollection.Root).GeneratorProject);
                }
                if (!string.IsNullOrEmpty(cacheFile.CodeFacadeSettings))
                {
                    var document = new XmlDocument();
                    document.LoadXml(cacheFile.CodeFacadeSettings);
                    var containerNode = document.DocumentElement.ChildNodes[0];
                    optPrefix.Checked      = XmlHelper.GetAttributeValue(containerNode, "prefixChecked", optPrefix.Checked);
                    txtPrefix.Text         = XmlHelper.GetAttributeValue(containerNode, "prefix", txtPrefix.Text);
                    chkReplaceText.Checked = XmlHelper.GetAttributeValue(containerNode, "replaceText", chkReplaceText.Checked);
                    txtReplaceSource.Text  = XmlHelper.GetAttributeValue(containerNode, "replaceSource", txtReplaceSource.Text);
                    txtReplaceTarget.Text  = XmlHelper.GetAttributeValue(containerNode, "replaceTarget", txtReplaceTarget.Text);
                    optUpcase.Checked      = XmlHelper.GetAttributeValue(containerNode, "upcase", optUpcase.Checked);
                    optUnderscore.Checked  = XmlHelper.GetAttributeValue(containerNode, "underscore", optUnderscore.Checked);
                    chkSkip2Caps.Checked   = XmlHelper.GetAttributeValue(containerNode, "TwoCaps", chkSkip2Caps.Checked);
                }
            }
            catch (Exception ex)
            {
                throw;
            }

            this.UpdateForm();
        }
예제 #7
0
        private void wizard1_Finish(object sender, EventArgs e)
        {
            var cacheFile = new ModelCacheFile(_generator);

            cacheFile.ExcludeList.Clear();
            foreach (var t in this.ExcludeList)
            {
                cacheFile.ExcludeList.Add(t.FullName);
            }

            cacheFile.Save();

            this.DialogResult = DialogResult.OK;
            this.Close();
        }
예제 #8
0
        private void SaveSettings()
        {
            //Save settings
            var cacheFile = new ModelCacheFile(_model.ModelFileName);
            var document  = new XmlDocument();

            document.LoadXml("<a><z></z></a>");
            var containerNode = document.DocumentElement.ChildNodes[0];

            XmlHelper.AddAttribute(containerNode, "prefixChecked", optPrefix.Checked);
            XmlHelper.AddAttribute(containerNode, "prefix", txtPrefix.Text);
            XmlHelper.AddAttribute(containerNode, "replaceText", chkReplaceText.Checked);
            XmlHelper.AddAttribute(containerNode, "replaceSource", txtReplaceSource.Text);
            XmlHelper.AddAttribute(containerNode, "replaceTarget", txtReplaceTarget.Text);
            XmlHelper.AddAttribute(containerNode, "casing", cboCasing.SelectedIndex);
            cacheFile.TableFacadeSettings = document.OuterXml;
            cacheFile.Save();
        }
예제 #9
0
        public GenerateSettings(IGenerator generator, List <Type> generatorTypeList, List <Type> wizardTypeList, List <string> moduleList)
            : this()
        {
            try
            {
                _generator         = generator;
                _moduleList        = moduleList;
                _generatorTypeList = generatorTypeList;
                _wizardTypeList    = wizardTypeList;

                var globalCacheFile = new GlobalCacheFile();
                var cacheFile       = new ModelCacheFile(_generator);
                foreach (var v in generatorTypeList)
                {
                    var attribute = v.GetCustomAttributes(typeof(GeneratorProjectAttribute), true).Cast <GeneratorProjectAttribute>().FirstOrDefault();
                    if (!globalCacheFile.ExcludeList.Contains(v.FullName))
                    {
                        _generatorMap.Add(attribute.Name, v);
                    }
                }
                LoadGenerators(true);

                //Add modules
                foreach (var s in moduleList.OrderBy(x => x))
                {
                    chkModule.Items.Add(s);
                    if (cacheFile.GeneratedModuleList.Count(x => x.ToLower() == s.ToLower()) > 0)
                    {
                        chkModule.SetItemChecked(chkModule.Items.Count - 1, true);
                    }
                }

                if (moduleList.Count == 0)
                {
                    wizard1.WizardPages.Remove(pageModules);
                }

                wizard1.FinishEnabled = (moduleList.Count == 0);
            }
            catch (Exception ex)
            {
                throw;
            }
        }
예제 #10
0
        private void SaveSettings()
        {
            //Save settings
            var cacheFile = new ModelCacheFile(((ModelRoot)_tableCollection.Root).GeneratorProject);
            var document  = new XmlDocument();

            document.LoadXml("<a><z></z></a>");
            var containerNode = document.DocumentElement.ChildNodes[0];

            XmlHelper.AddAttribute(containerNode, "prefixChecked", optPrefix.Checked);
            XmlHelper.AddAttribute(containerNode, "prefix", txtPrefix.Text);
            XmlHelper.AddAttribute(containerNode, "replaceText", chkReplaceText.Checked);
            XmlHelper.AddAttribute(containerNode, "replaceSource", txtReplaceSource.Text);
            XmlHelper.AddAttribute(containerNode, "replaceTarget", txtReplaceTarget.Text);
            XmlHelper.AddAttribute(containerNode, "upcase", optUpcase.Checked);
            XmlHelper.AddAttribute(containerNode, "underscore", optUnderscore.Checked);
            XmlHelper.AddAttribute(containerNode, "TwoCaps", chkSkip2Caps.Checked);
            cacheFile.TableFacadeSettings = document.OuterXml;
            cacheFile.Save();
        }
예제 #11
0
        private void LoadGenerators(bool isMain)
        {
            try
            {
                var globalCacheFile = new GlobalCacheFile();
                var cacheFile       = new ModelCacheFile(_generator);
                tvwProjects.Nodes.Clear();

                foreach (var key in _generatorMap.Keys)
                {
                    var sysType = _generatorMap[key];
                    if (!globalCacheFile.ExcludeList.Contains(sysType.FullName))
                    {
                        var attribute = sysType.GetCustomAttributes(typeof(GeneratorProjectAttribute), true).Cast <GeneratorProjectAttribute>().FirstOrDefault();
                        if ((isMain && attribute.IsMain) || !isMain)
                        {
                            var typeName = string.Empty;
                            if (attribute.CurrentType != null)
                            {
                                typeName = attribute.CurrentType.ToString();
                            }
                            var node = tvwProjects.Nodes.Add(typeName, attribute.Name);
                            node.Tag = attribute;

                            if (_wizardTypeList != null)
                            {
                                node.Checked = _wizardTypeList.Contains(sysType);
                            }
                            else
                            {
                                node.Checked = !cacheFile.ExcludeList.Contains(sysType.FullName);
                            }
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                throw;
            }
        }
예제 #12
0
        public TableCodeFacadeUpdateForm(TableCollection tableCollection, FieldSettingConstants fieldSetting)
            : this()
        {
            _tableCollection = tableCollection;
            _fieldSetting    = fieldSetting;

            if (_fieldSetting == FieldSettingConstants.Name)
            {
                this.Text = "Update Entity";
            }
            else if (_fieldSetting == FieldSettingConstants.CodeFacade)
            {
                this.Text            = "Update CodeFacade";
                cmdRemoveAll.Visible = true;
            }

            try
            {
                var cacheFile = new ModelCacheFile(((ModelRoot)tableCollection.Root).GeneratorProject);
                if (!string.IsNullOrEmpty(cacheFile.TableFacadeSettings))
                {
                    var document = new XmlDocument();
                    document.LoadXml(cacheFile.TableFacadeSettings);
                    var containerNode = document.DocumentElement.ChildNodes[0];
                    optPrefix.Checked      = XmlHelper.GetAttributeValue(containerNode, "prefixChecked", optPrefix.Checked);
                    txtPrefix.Text         = XmlHelper.GetAttributeValue(containerNode, "prefix", txtPrefix.Text);
                    chkReplaceText.Checked = XmlHelper.GetAttributeValue(containerNode, "replaceText", chkReplaceText.Checked);
                    txtReplaceSource.Text  = XmlHelper.GetAttributeValue(containerNode, "replaceSource", txtReplaceSource.Text);
                    txtReplaceTarget.Text  = XmlHelper.GetAttributeValue(containerNode, "replaceTarget", txtReplaceTarget.Text);
                    optUpcase.Checked      = XmlHelper.GetAttributeValue(containerNode, "upcase", optUpcase.Checked);
                    optUnderscore.Checked  = XmlHelper.GetAttributeValue(containerNode, "underscore", optUnderscore.Checked);
                    chkSkip2Caps.Checked   = XmlHelper.GetAttributeValue(containerNode, "TwoCaps", chkSkip2Caps.Checked);
                }
            }
            catch (Exception ex)
            {
                throw;
            }

            this.UpdateForm();
        }
예제 #13
0
        public TableCodeFacadeUpdateForm(nHydrate.Dsl.nHydrateModel model)
            : this()
        {
            _model = model;

            try
            {
                var cacheFile = new ModelCacheFile(_model.ModelFileName);
                if (!string.IsNullOrEmpty(cacheFile.TableFacadeSettings))
                {
                    var document = new XmlDocument();
                    document.LoadXml(cacheFile.TableFacadeSettings);
                    var containerNode = document.DocumentElement.ChildNodes[0];
                    optPrefix.Checked       = XmlHelper.GetAttributeValue(containerNode, "prefixChecked", optPrefix.Checked);
                    txtPrefix.Text          = XmlHelper.GetAttributeValue(containerNode, "prefix", txtPrefix.Text);
                    chkReplaceText.Checked  = XmlHelper.GetAttributeValue(containerNode, "replaceText", chkReplaceText.Checked);
                    txtReplaceSource.Text   = XmlHelper.GetAttributeValue(containerNode, "replaceSource", txtReplaceSource.Text);
                    txtReplaceTarget.Text   = XmlHelper.GetAttributeValue(containerNode, "replaceTarget", txtReplaceTarget.Text);
                    cboCasing.SelectedIndex = XmlHelper.GetAttributeValue(containerNode, "casing", cboCasing.SelectedIndex);
                }

                //Entities
                foreach (var item in model.Entities)
                {
                    var newItem = new ListViewItem
                    {
                        Text       = item.Name,
                        ImageIndex = 0,
                        Checked    = true,
                        Tag        = new DataItem {
                            Element = item,
                        }
                    };
                    newItem.SubItems.Add(item.CodeFacade);
                    newItem.SubItems.Add("Entity");
                    lvwItem.Items.Add(newItem);
                }

                //Views
                foreach (var item in model.Views)
                {
                    var newItem = new ListViewItem
                    {
                        Text       = item.Name,
                        ImageIndex = 1,
                        Checked    = true,
                        Tag        = new DataItem {
                            Element = item,
                        }
                    };
                    newItem.SubItems.Add(item.CodeFacade);
                    newItem.SubItems.Add("View");
                    lvwItem.Items.Add(newItem);
                }

                //Stored Procedures
                foreach (var item in model.StoredProcedures)
                {
                    var newItem = new ListViewItem
                    {
                        Text       = item.Name,
                        ImageIndex = 2,
                        Checked    = true,
                        Tag        = new DataItem {
                            Element = item,
                        }
                    };
                    newItem.SubItems.Add(item.CodeFacade);
                    newItem.SubItems.Add("Stored Procedure");
                    lvwItem.Items.Add(newItem);
                }

                //Functions
                foreach (var item in model.Functions)
                {
                    var newItem = new ListViewItem
                    {
                        Text       = item.Name,
                        ImageIndex = 3,
                        Checked    = true,
                        Tag        = new DataItem {
                            Element = item,
                        }
                    };
                    newItem.SubItems.Add(item.CodeFacade);
                    newItem.SubItems.Add("Function");
                    lvwItem.Items.Add(newItem);
                }
            }
            catch (Exception ex)
            {
                throw;
            }

            this.UpdateForm();
        }
		private int GetNextGeneratedVersion()
		{
			ModelCacheFile cacheFile = new ModelCacheFile(_model.GeneratorProject);
			return cacheFile.GeneratedVersion;
		}
		private void IncrementNextGeneratedVersion()
		{
			ModelCacheFile cacheFile = new ModelCacheFile(_model.GeneratorProject);
			cacheFile.GeneratedVersion++;
			cacheFile.Save();			
		}
        private int GetNextGeneratedVersion()
        {
            ModelCacheFile cacheFile = new ModelCacheFile(_model.GeneratorProject);

            return(cacheFile.GeneratedVersion);
        }