private void AdvanceTaskManager(long MetadataStructureId)
{
TaskManager = (CreateTaskmanager)Session["CreateDatasetTaskmanager"];
MetadataStructureManager metadataStructureManager = new MetadataStructureManager();
List<MetadataPackageUsage> metadataPackageList = metadataStructureManager.GetEffectivePackages(MetadataStructureId).ToList();
List<StepModelHelper> stepModelHelperList = new List<StepModelHelper>();
if (TaskManager.Bus.ContainsKey(CreateTaskmanager.METADATA_STEP_MODEL_HELPER))
{
TaskManager.Bus[CreateTaskmanager.METADATA_STEP_MODEL_HELPER] = stepModelHelperList;
}
else
{
TaskManager.Bus.Add(CreateTaskmanager.METADATA_STEP_MODEL_HELPER, stepModelHelperList);
}
TaskManager.StepInfos = new List<StepInfo>();
foreach (MetadataPackageUsage mpu in metadataPackageList)
{
//only add none optional usages
StepInfo si = new StepInfo(mpu.Label)
{
Id = TaskManager.GenerateStepId(),
parentTitle = mpu.MetadataPackage.Name,
Parent = TaskManager.Root,
IsInstanze = false,
};
TaskManager.StepInfos.Add(si);
StepModelHelper stepModelHelper = new StepModelHelper(si.Id, 1, mpu, "Metadata//" + mpu.Label.Replace(" ", string.Empty) + "[1]", null);
stepModelHelperList.Add(stepModelHelper);
//if (mpu.MinCardinality > 0)
//{
si = AddStepsBasedOnUsage(mpu, si, "Metadata//" + mpu.Label.Replace(" ", string.Empty) + "[1]", stepModelHelper);
TaskManager.Root.Children.Add(si);
TaskManager.Bus[CreateTaskmanager.METADATA_STEP_MODEL_HELPER] = stepModelHelperList;
//}
}
TaskManager.Bus[CreateTaskmanager.METADATA_STEP_MODEL_HELPER] = stepModelHelperList;
Session["CreateDatasetTaskmanager"] = TaskManager;
}