public override void CommitOperation(ref OperationData OpData) { bool succeeded = false; string statusMsg = null; CswNbtObjClassUser newTransferOwner = _getNodeByBarcode(CswEnumNbtObjectClass.UserClass, OpData.Field1.Value, true); CswNbtNode node = _CswNbtResources.Nodes[OpData.Field2.NodeId]; CswNbtMetaDataNodeType NodeType = node.getNodeType(); string itemName = NodeType.NodeTypeName; ICswNbtKioskModeTransferable AsTransferable = (ICswNbtKioskModeTransferable)node.ObjClass; if (AsTransferable.CanTransfer(out statusMsg)) { AsTransferable.Transfer(newTransferOwner); succeeded = true; } if (null != node && succeeded) { node.postChanges(false); CswNbtObjClassLocation newLocationNode = _CswNbtResources.Nodes[newTransferOwner.DefaultLocationId]; OpData.Log.Add(DateTime.Now + " - Transferred " + itemName + " " + OpData.Field2.Value + " ownership to " + newTransferOwner.Username + " (" + OpData.Field1.Value + ") at " + newLocationNode.Name.Text); 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 CswNbtKioskModeTransferableImpl(CswNbtResources CswNbtResources, ICswNbtKioskModeTransferable TransferableObj) { _CswNbtResources = CswNbtResources; _TransferableObj = TransferableObj; }