internal override void GenerateSubCommands() { PSMAssociationMember associationMember = Project.TranslateComponent <PSMAssociationMember>(AssociationMemberGuid); if (associationMember is PSMClass) { cmdDeletePSMClassRecursive dc = new cmdDeletePSMClassRecursive(Controller); dc.Set(associationMember); Commands.Add(dc); } else if (associationMember is PSMContentModel) { cmdDeletePSMContentModelRecursive dcm = new cmdDeletePSMContentModelRecursive(Controller); dcm.Set(associationMember); Commands.Add(dcm); } else if (associationMember is PSMSchemaClass) { //Happens only when deleting PSM Schema. We clear the SchemaClass and let the atomic operation "delete PSM Schema" delete the actual class foreach (PSMAssociation a in associationMember.ChildPSMAssociations) { cmdDeletePSMAssociationRecursive da = new cmdDeletePSMAssociationRecursive(Controller); da.Set(a); Commands.Add(da); } } }
internal override void GenerateSubCommands() { PSMContentModel contentModel = Project.TranslateComponent <PSMContentModel>(ContentModelGuid); foreach (PSMAssociation a in contentModel.ChildPSMAssociations) { cmdDeletePSMAssociationRecursive da = new cmdDeletePSMAssociationRecursive(Controller); da.Set(a); Commands.Add(da); } Commands.Add(new acmdDeletePSMContentModel(Controller, contentModel)); }
internal override void GenerateSubCommands() { PSMClass psmClass = Project.TranslateComponent <PSMClass>(ClassGuid); foreach (PSMAssociation a in psmClass.ChildPSMAssociations) { cmdDeletePSMAssociationRecursive da = new cmdDeletePSMAssociationRecursive(Controller); da.Set(a); Commands.Add(da); } Commands.Add(new cmdDeleteRootPSMClass(Controller) { ClassGuid = ClassGuid }); }