|
|
|
@ -3,6 +3,7 @@ |
|
|
|
|
|
|
|
|
|
|
|
using System; |
|
|
|
using System; |
|
|
|
using System.Collections.Generic; |
|
|
|
using System.Collections.Generic; |
|
|
|
|
|
|
|
using System.Linq; |
|
|
|
using System.Windows.Input; |
|
|
|
using System.Windows.Input; |
|
|
|
|
|
|
|
|
|
|
|
using ICSharpCode.AspNet.Mvc; |
|
|
|
using ICSharpCode.AspNet.Mvc; |
|
|
|
@ -13,23 +14,27 @@ namespace ICSharpCode.AspNet.Mvc |
|
|
|
{ |
|
|
|
{ |
|
|
|
IMvcControllerFileGenerator controllerGenerator; |
|
|
|
IMvcControllerFileGenerator controllerGenerator; |
|
|
|
ISelectedMvcFolder selectedControllerFolder; |
|
|
|
ISelectedMvcFolder selectedControllerFolder; |
|
|
|
|
|
|
|
IMvcTextTemplateRepository textTemplateRepository; |
|
|
|
MvcControllerFileName controllerFileName = new MvcControllerFileName(); |
|
|
|
MvcControllerFileName controllerFileName = new MvcControllerFileName(); |
|
|
|
bool closed; |
|
|
|
bool closed; |
|
|
|
List<MvcControllerTemplateViewModel> controllerTemplates; |
|
|
|
List<MvcControllerTextTemplate> controllerTemplates; |
|
|
|
|
|
|
|
|
|
|
|
public AddMvcControllerToProjectViewModel(ISelectedMvcFolder selectedControllerFolder) |
|
|
|
public AddMvcControllerToProjectViewModel(ISelectedMvcFolder selectedControllerFolder) |
|
|
|
: this( |
|
|
|
: this( |
|
|
|
selectedControllerFolder, |
|
|
|
selectedControllerFolder, |
|
|
|
new MvcControllerFileGenerator()) |
|
|
|
new MvcControllerFileGenerator(), |
|
|
|
|
|
|
|
new MvcTextTemplateRepository()) |
|
|
|
{ |
|
|
|
{ |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
public AddMvcControllerToProjectViewModel( |
|
|
|
public AddMvcControllerToProjectViewModel( |
|
|
|
ISelectedMvcFolder selectedControllerFolder, |
|
|
|
ISelectedMvcFolder selectedControllerFolder, |
|
|
|
IMvcControllerFileGenerator controllerGenerator) |
|
|
|
IMvcControllerFileGenerator controllerGenerator, |
|
|
|
|
|
|
|
IMvcTextTemplateRepository textTemplateRepository) |
|
|
|
{ |
|
|
|
{ |
|
|
|
this.selectedControllerFolder = selectedControllerFolder; |
|
|
|
this.selectedControllerFolder = selectedControllerFolder; |
|
|
|
this.controllerGenerator = controllerGenerator; |
|
|
|
this.controllerGenerator = controllerGenerator; |
|
|
|
|
|
|
|
this.textTemplateRepository = textTemplateRepository; |
|
|
|
|
|
|
|
|
|
|
|
this.controllerFileName.Folder = selectedControllerFolder.Path; |
|
|
|
this.controllerFileName.Folder = selectedControllerFolder.Path; |
|
|
|
|
|
|
|
|
|
|
|
@ -70,46 +75,27 @@ namespace ICSharpCode.AspNet.Mvc |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
public IEnumerable<MvcControllerTemplateViewModel> ControllerTemplates { |
|
|
|
public IEnumerable<MvcControllerTextTemplate> ControllerTemplates { |
|
|
|
get { return controllerTemplates; } |
|
|
|
get { return controllerTemplates; } |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
public MvcControllerTemplateViewModel SelectedControllerTemplate { get; set; } |
|
|
|
public MvcControllerTextTemplate SelectedControllerTemplate { get; set; } |
|
|
|
|
|
|
|
|
|
|
|
void AddControllerTemplates() |
|
|
|
void AddControllerTemplates() |
|
|
|
{ |
|
|
|
{ |
|
|
|
controllerTemplates = new List<MvcControllerTemplateViewModel>(); |
|
|
|
controllerTemplates = GetControllerTemplatesFromRepository(); |
|
|
|
AddEmptyControllerTemplate(); |
|
|
|
SelectFirstControllerTemplate(); |
|
|
|
AddEmptyReadWriteControllerTemplate(); |
|
|
|
|
|
|
|
SelectEmptyControllerTemplate(); |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
void AddEmptyReadWriteControllerTemplate() |
|
|
|
List<MvcControllerTextTemplate> GetControllerTemplatesFromRepository() |
|
|
|
{ |
|
|
|
{ |
|
|
|
var template = new MvcControllerTemplateViewModel() { |
|
|
|
var criteria = new MvcTextTemplateCriteria() { |
|
|
|
Name = "EmptyReadWrite", |
|
|
|
TemplateLanguage = GetTemplateLanguage() |
|
|
|
Description = "Controller with create, read, update and delete actions", |
|
|
|
|
|
|
|
AddActionMethods = true |
|
|
|
|
|
|
|
}; |
|
|
|
}; |
|
|
|
AddControllerTemplate(template); |
|
|
|
return textTemplateRepository.GetMvcControllerTextTemplates(criteria).ToList(); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
void AddEmptyControllerTemplate() |
|
|
|
void SelectFirstControllerTemplate() |
|
|
|
{ |
|
|
|
|
|
|
|
var template = new MvcControllerTemplateViewModel() { |
|
|
|
|
|
|
|
Name = "Empty", |
|
|
|
|
|
|
|
Description = "Empty controller", |
|
|
|
|
|
|
|
AddActionMethods = false |
|
|
|
|
|
|
|
}; |
|
|
|
|
|
|
|
AddControllerTemplate(template); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void AddControllerTemplate(MvcControllerTemplateViewModel template) |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
controllerTemplates.Add(template); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void SelectEmptyControllerTemplate() |
|
|
|
|
|
|
|
{ |
|
|
|
{ |
|
|
|
SelectedControllerTemplate = controllerTemplates[0]; |
|
|
|
SelectedControllerTemplate = controllerTemplates[0]; |
|
|
|
} |
|
|
|
} |
|
|
|
|