private MetadataCompoundAttributeModel CreateCompoundModel(int stepId, bool validateIt)
{
StepInfo stepInfo = TaskManager.Get(stepId);
StepModelHelper stepModelHelper = GetStepModelhelper(stepId);
long metadataStructureId = Convert.ToInt64(TaskManager.Bus[CreateTaskmanager.METADATASTRUCTURE_ID]);
long Id = stepModelHelper.Usage.Id;
MetadataCompoundAttributeModel model = MetadataCompoundAttributeModel.ConvertToModel(stepModelHelper.Usage, stepModelHelper.Number);
// get children
model.ConvertMetadataAttributeModels(LoadUsage(stepModelHelper.Usage), metadataStructureId, stepInfo.Id);
model.StepInfo = TaskManager.Get(stepId);
if (stepInfo.IsInstanze == false)
{
//get Instance
if (TaskManager.Bus.ContainsKey(CreateTaskmanager.METADATA_XML))
{
XDocument xMetadata = (XDocument)TaskManager.Bus[CreateTaskmanager.METADATA_XML];
model.ConvertInstance(xMetadata, stepModelHelper.XPath);
}
}
else
{
if (stepModelHelper.Model != null)
{
model = (MetadataCompoundAttributeModel)stepModelHelper.Model;
}
else
{
stepModelHelper.Model = model;
}
}
//if (validateIt)
//{
// //validate packages
// List<Error> errors = validateStep(stepModelHelper.Model);
// if (errors != null)
// model.ErrorList = errors;
// else
// model.ErrorList = new List<Error>();
//}
model.StepInfo = stepInfo;
return model;
}