public static ProjectTemplate ToProjectTemplate(this ProjectTemplateModel item) { var model = new ProjectTemplate(item.IsProject); item.CopyTemplateProperties(model); return(model); }
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); } }
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; }