public override void CommitOperation(ref OperationData OpData) { bool succeeded = false; CswNbtObjClassUser newOwner = _CswNbtResources.Nodes[OpData.Field1.NodeId]; CswNbtNode node = _CswNbtResources.Nodes[OpData.Field2.NodeId]; CswNbtMetaDataNodeType NodeType = node.getNodeType(); string itemName = NodeType.NodeTypeName; string statusMsg = null; ICswNbtKioskModeOwnerable AsOwnerable = (ICswNbtKioskModeOwnerable)node.ObjClass; if (AsOwnerable.CanUpdateOwner(out statusMsg)) { AsOwnerable.UpdateOwner(newOwner); succeeded = true; } if (null != node && succeeded) { node.postChanges(false); OpData.Log.Add(DateTime.Now + " - Changed owner of " + itemName + " " + OpData.Field2.Value + " to " + newOwner.Username + " (" + OpData.Field1.Value + ")"); base.CommitOperation(ref OpData); } else { statusMsg = statusMsg ?? "You do not have permission to edit " + itemName + " (" + OpData.Field2.Value + ")"; OpData.Field2.StatusMsg = statusMsg; OpData.Field2.ServerValidated = false; OpData.Log.Add(DateTime.Now + " - ERROR: " + statusMsg); } }
public CswNbtKioskModeOwnerableImpl(CswNbtResources CswNbtResources, ICswNbtKioskModeOwnerable OwnerableObj) { _CswNbtResources = CswNbtResources; _OwnerableObj = OwnerableObj; }