Я создаю оболочки объектов в VS2010 на основе динамических объектов в системе CRM.В дополнение к коду сущности, я хочу добавить EntityBase, от которого наследуются все сущности.Если файл существует в проекте ранее, он не должен быть добавлен.Я использую реализацию IWizard, чтобы дать генератору имена объектов и т. Д.
Возможно ли в реализации IWizard определить, следует ли добавить элемент, если он существует в проекте ранее?Как получить дескриптор проекта и его элементы в методе ShouldAddProjectItem или перед ним?
Мой код (пока не завершен):
public class EntityWizardImplementation : IWizard
{
public void BeforeOpeningFile(ProjectItem projectItem)
{
//Note: Nothing here.
}
public void ProjectFinishedGenerating(Project project)
{
//Note: Nothing here.
}
public void ProjectItemFinishedGenerating(ProjectItem projectItem)
{
//Note: Nothing here.
}
public void RunFinished()
{
//Note: Nothing here.
}
public void RunStarted(object automationObject, Dictionary<string, string> replacementsDictionary, WizardRunKind runKind, object[] customParams)
{
try
{
var window = new WizardWindow();
// Replace parameters gathered from the wizard
replacementsDictionary.Add("$crmEntity$", window.CrmEntity);
replacementsDictionary.Add("$crmOrganization$", window.CrmOrganization);
replacementsDictionary.Add("$crmMetadataServiceUrl$", window.CrmMetadataUrl);
window.Close();
}
catch (SoapException se)
{
MessageBox.Show(se.ToString());
}
catch (Exception e)
{
MessageBox.Show(e.ToString());
}
}
public bool ShouldAddProjectItem(string filePath)
{
// This is where I assume it is correct to handle the preexisting file.
return true;
}
}