Ejemplo n.º 1
0
 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);
     }
 }