public NewItemDialogViewModel(IProjectFolder folder) : base("New Item")
{
var shell = IoC.Get<IShell>();
templates = new ObservableCollection<ICodeTemplate>();
var compatibleTemplates = shell.CodeTemplates.Where(t => t.IsCompatible(folder.Project));
foreach (var template in compatibleTemplates)
{
templates.Add(template);
}
SelectedTemplate = templates.FirstOrDefault();
this.folder = folder;
OKCommand = ReactiveCommand.Create();
OKCommand.Subscribe(_ =>
{
SelectedTemplate?.Generate(folder);
Close();
});
}