public TemplateInfoViewModel(ITemplateInfo template, IEnumerable <ITemplateInfo> dependencies) { Template = template; IsItemNameEditable = template.GetItemNameEditable(); DefaultName = template.GetDefaultName(); Group = template.GetGroup(); Icon = template.GetIcon(); Name = template.Name; Author = template.Author; Order = template.GetOrder(); Summary = template.Description; Identity = template.Identity; Version = template.GetVersion(); TemplateType = template.GetTemplateType(); Description = template.GetRichDescription(); DependencyItems.AddRange(dependencies.Select(d => new DependencyInfoViewModel(new TemplateInfoViewModel(d, GenComposer.GetAllDependencies(d, MainViewModel.Current.ConfigFramework))))); LicenseTerms = template.GetLicenses(); }
public static void AddItem(UserSelection userSelection, ITemplateInfo template, Func <ITemplateInfo, string> getName) { if (template.GetMultipleInstance() || !AlreadyAdded(userSelection, template)) { var itemName = getName(template); var usedNames = userSelection.Pages.Select(p => p.name).Concat(userSelection.Features.Select(f => f.name)); var validators = new List <Validator>() { new ExistingNamesValidator(usedNames), new ReservedNamesValidator(), }; if (template.GetItemNameEditable()) { validators.Add(new DefaultNamesValidator()); } itemName = Naming.Infer(itemName, validators); AddItem(userSelection, itemName, template); } }