Beispiel #1
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;
            }
        }
Beispiel #2
0
        public void GenerateAll(IGenerator generator, List <Type> excludeList)
        {
            //Validate that tool is licensed if the model is using licensed features
            //if (generator.InLicense)
            //{
            //  throw new nHydrate.Generator.Common.Exceptions.LicenseException();
            //}

            try
            {
                EnvDTEHelper.Instance.ClearCache();
                var globalCacheFile = new GlobalCacheFile();
                _generator = generator;
                var projectGenerators = GetProjectGenerators(generator);
                foreach (var projectGeneratorType in projectGenerators)
                {
                    try
                    {
                        var exclude = false;
                        foreach (var key in globalCacheFile.ExcludeList)
                        {
                            if (key == projectGeneratorType.FullName)
                            {
                                exclude = true;
                            }
                        }

                        //Check the passed in exclude list
                        if (excludeList.Contains(projectGeneratorType))
                        {
                            exclude = true;
                        }

                        if (!exclude)
                        {
                            GenerateProject(generator, projectGeneratorType);
                        }
                    }
                    catch (Exception ex)
                    {
                        System.Diagnostics.Debug.WriteLine(ex);
                        MessageBox.Show(ex.ToString(), "Error!", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                }

                System.Diagnostics.Debug.Write(string.Empty);
            }
            catch (Exception ex)
            {
                throw;
            }
        }
Beispiel #3
0
        public int GetFileCount(IGenerator generator, List <Type> excludeList)
        {
            var retval = 0;

            try
            {
                EnvDTEHelper.Instance.ClearCache();
                var globalCacheFile = new GlobalCacheFile();
                _generator = generator;
                var projectGenerators = GetProjectGenerators(generator);
                var generatorTypes    = ReflectionHelper.GetCreatableObjectImplementsInterface(typeof(IProjectItemGenerator), AddinAppData.Instance.ExtensionDirectory);
                foreach (var projectGeneratorType in projectGenerators)
                {
                    try
                    {
                        var exclude = false;
                        foreach (var key in globalCacheFile.ExcludeList)
                        {
                            if (key == projectGeneratorType.FullName)
                            {
                                exclude = true;
                            }
                        }

                        //Check the passed in exclude list
                        if (excludeList.Contains(projectGeneratorType))
                        {
                            exclude = true;
                        }

                        if (!exclude)
                        {
                            retval += GetFileCount(generator, projectGeneratorType, generatorTypes);
                        }
                    }
                    catch (Exception ex)
                    {
                        System.Diagnostics.Debug.WriteLine(ex);
                        MessageBox.Show(ex.ToString(), "Error!", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                }

                System.Diagnostics.Debug.Write(string.Empty);
                return(retval);
            }
            catch (Exception ex)
            {
                throw;
            }
        }
Beispiel #4
0
        public virtual int GetFileCount(IGenerator generator, List <Type> excludeList)
        {
            var retval = 0;

            try
            {
                var globalCacheFile = new GlobalCacheFile();
                _generator = generator;
                var projectGenerators = GetProjectGenerators(generator);
                var generatorTypes    = ReflectionHelper.GetCreatableObjectImplementsInterface(typeof(IProjectItemGenerator), GetExtensionsFolder());
                foreach (var projectGeneratorType in projectGenerators)
                {
                    try
                    {
                        var exclude = false;
                        foreach (var key in globalCacheFile.ExcludeList)
                        {
                            if (key == projectGeneratorType.FullName)
                            {
                                exclude = true;
                            }
                        }

                        //Check the passed in exclude list
                        if (excludeList.Contains(projectGeneratorType))
                        {
                            exclude = true;
                        }

                        if (!exclude)
                        {
                            retval += GetFileCount(generator, projectGeneratorType, generatorTypes);
                        }
                    }
                    catch (Exception ex)
                    {
                        System.Diagnostics.Debug.WriteLine(ex);
                        LogError(ex.ToString());
                    }
                }

                System.Diagnostics.Debug.Write(string.Empty);
                return(retval);
            }
            catch (Exception ex)
            {
                throw;
            }
        }
Beispiel #5
0
        public virtual void GenerateAll(IGenerator generator, List <Type> excludeList)
        {
            try
            {
                var globalCacheFile = new GlobalCacheFile();
                _generator = generator;
                var projectGenerators = GetProjectGenerators(generator);
                foreach (var projectGeneratorType in projectGenerators)
                {
                    try
                    {
                        var exclude = false;
                        foreach (var key in globalCacheFile.ExcludeList)
                        {
                            if (key == projectGeneratorType.FullName)
                            {
                                exclude = true;
                            }
                        }

                        //Check the passed in exclude list
                        if (excludeList.Contains(projectGeneratorType))
                        {
                            exclude = true;
                        }

                        if (!exclude)
                        {
                            GenerateProject(generator, projectGeneratorType);
                        }
                    }
                    catch (Exception ex)
                    {
                        System.Diagnostics.Debug.WriteLine(ex);
                        LogError(ex.ToString());
                    }
                }

                System.Diagnostics.Debug.Write(string.Empty);
            }
            catch (Exception ex)
            {
                throw;
            }
        }
        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;
            }
        }
        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;
            }
        }
        public int GetFileCount(IGenerator generator, List<Type> excludeList)
        {
            var retval = 0;
            try
            {
                EnvDTEHelper.Instance.ClearCache();
                var globalCacheFile = new GlobalCacheFile();
                _generator = generator;
                var projectGenerators = GetProjectGenerators(generator);
                var generatorTypes = ReflectionHelper.GetCreatableObjectImplementsInterface(typeof(IProjectItemGenerator), AddinAppData.Instance.ExtensionDirectory);
                foreach (var projectGeneratorType in projectGenerators)
                {
                    try
                    {
                        var exclude = false;
                        foreach (var key in globalCacheFile.ExcludeList)
                        {
                            if (key == projectGeneratorType.FullName)
                                exclude = true;
                        }

                        //Check the passed in exclude list
                        if (excludeList.Contains(projectGeneratorType))
                            exclude = true;

                        if (!exclude)
                        {
                            retval += GetFileCount(generator, projectGeneratorType, generatorTypes);
                        }

                    }
                    catch (Exception ex)
                    {
                        System.Diagnostics.Debug.WriteLine(ex);
                        MessageBox.Show(ex.ToString(), "Error!", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                }

                System.Diagnostics.Debug.Write(string.Empty);
                return retval;

            }
            catch (Exception ex)
            {
                throw;
            }
        }
        public void GenerateAll(IGenerator generator, List<Type> excludeList)
        {
            //Validate that tool is licensed if the model is using licensed features
            //if (generator.InLicense)
            //{
            //  throw new nHydrate.Generator.Common.Exceptions.LicenseException();
            //}

            try
            {
                EnvDTEHelper.Instance.ClearCache();
                var globalCacheFile = new GlobalCacheFile();
                _generator = generator;
                var projectGenerators = GetProjectGenerators(generator);
                foreach (var projectGeneratorType in projectGenerators)
                {
                    try
                    {
                        var exclude = false;
                        foreach (var key in globalCacheFile.ExcludeList)
                        {
                            if (key == projectGeneratorType.FullName)
                                exclude = true;
                        }

                        //Check the passed in exclude list
                        if (excludeList.Contains(projectGeneratorType))
                            exclude = true;

                        if (!exclude)
                        {
                            GenerateProject(generator, projectGeneratorType);
                        }

                    }
                    catch (Exception ex)
                    {
                        System.Diagnostics.Debug.WriteLine(ex);
                        MessageBox.Show(ex.ToString(), "Error!", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                }

                System.Diagnostics.Debug.Write(string.Empty);

            }
            catch (Exception ex)
            {
                throw;
            }
        }