public ActionResult RemoveComplexUsage(int parentStepId, int number)
{
TaskManager = (CreateTaskmanager)Session["CreateDatasetTaskmanager"];
TaskManager.SetCurrent(TaskManager.Get(parentStepId));
StepModelHelper stepModelHelper = GetStepModelhelper(parentStepId);
RemoveFromXml(stepModelHelper.XPath + "//" + UsageHelper.GetNameOfType(stepModelHelper.Usage).Replace(" ", string.Empty) + "[" + number + "]");
BaseUsage u = LoadUsage(stepModelHelper.Usage);
if (u is MetadataAttributeUsage || u is MetadataNestedAttributeUsage)
{
CreateCompoundModel(TaskManager.Current().Id, true);
}
if (u is MetadataPackageUsage)
{
stepModelHelper.Model = CreatePackageModel(TaskManager.Current().Id, true);
}
stepModelHelper.Childrens.RemoveAt(number - 1);
//add stepModel to parentStepModel
for (int i = 0; i < stepModelHelper.Childrens.Count; i++)
{
stepModelHelper.Childrens.ElementAt(i).Number = i + 1;
}
TaskManager.Remove(TaskManager.Current(), number - 1);
if (u is MetadataAttributeUsage || u is MetadataNestedAttributeUsage)
{
return PartialView("_metadataCompoundAttributeView", stepModelHelper);
}
else if (u is MetadataPackageUsage)
{
return PartialView("_metadataCompoundAttributeView", stepModelHelper);
}
return null;
}