Example #1
0
        public static ProjectTemplate ToProjectTemplate(this ProjectTemplateModel item)
        {
            var model = new ProjectTemplate(item.IsProject);

            item.CopyTemplateProperties(model);

            return(model);
        }
Example #2
0
        public static ProjectTemplateModel ToModel(this IProjectTemplate item, ProjectTemplateModel parent)
        {
            var model = new ProjectTemplateModel(item.IsProject, parent, null);

            item.CopyTemplateProperties(model);
            foreach (var itemChild in item.Children)
            {
                model.Children.Add(itemChild.ToModel(model));
            }

            model.SetItemImage();

            return(model);
        }
        private void GetSettings()
        {
            VSTemplateFolder = FileExtensions.FindVSTemplateFolder();

            IsDarkMode = Settings.Default.IsDarkMode;

            _destinationFolder = Settings.Default.OutputPath;

            if (string.IsNullOrWhiteSpace(_destinationFolder))
            {
                _destinationFolder = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) +
                                     @"\Multi-Template Generator\Output";
            }

            SolutionTemplate = new ProjectTemplateModel(false, null, SolutionPropertyChanged)
            {
                CreateNewFolder = true
            };

            AppSettings.SolutionTemplateSettings.CopyTemplateProperties(SolutionTemplate);

            var platformTags = SolutionTemplate.PlatformTags.Split(new[] { ',' }, StringSplitOptions.RemoveEmptyEntries).Select(x => x.Trim()).ToList();

            if (platformTags.Count == 0)
            {
                platformTags = new List <string> {
                    ProjectTemplateModel.DefaultPlatformTags[6]
                };
            }
            foreach (var platformTag in SolutionTemplate.PlatformTagsList)
            {
                platformTag.IsChecked = platformTags.Contains(platformTag.Text);
            }

            var projectTypeTags = SolutionTemplate.ProjectTypeTags.Split(new[] { ',' }, StringSplitOptions.RemoveEmptyEntries).Select(x => x.Trim()).ToList();

            if (projectTypeTags.Count == 0)
            {
                projectTypeTags = new List <string> {
                    ProjectTemplateModel.DefaultProjectTypeTags[2]
                };
            }
            foreach (var projectTypeTag in SolutionTemplate.ProjectTypeTagsList)
            {
                projectTypeTag.IsChecked = projectTypeTags.Contains(projectTypeTag.Text);
            }

            AutoOpenTemplate = Settings.Default.OpenGeneratedTemplate;
            AutoImportToVS   = Settings.Default.AutoImportToVS;
        }
 public void SolutionPropertyChanged(ProjectTemplateModel template, string propertyName)
 {
     try
     {
         if (propertyName.Equals(nameof(template.TemplateName)))
         {
             RaisePropertyChanged(nameof(SolutionTemplateFullPath));
         }
         else if (propertyName.Equals(nameof(template.LanguageTag)))
         {
             CurrentVSTemplateFolder =
                 Path.Combine(VSTemplateFolder, template.LanguageTag.GetTemplateFolderNameByLanguage());
         }
     }
     catch (Exception e)
     {
         SetError(e);
     }
 }
Example #5
0
 public static IEnumerable <ProjectTemplateModel> ToModels(this IEnumerable <IProjectTemplate> items, ProjectTemplateModel parent = null)
 {
     foreach (var item in items)
     {
         yield return(item.ToModel(parent));
     }
 }
 public ProjectDetailsViewModel(ProjectTemplateModel model, ILogger logger)
     : base(logger)
 {
     Model = model;
 }