示例#1
0
        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);
            }
        }
示例#2
0
 public CswNbtKioskModeTransferableImpl(CswNbtResources CswNbtResources, ICswNbtKioskModeTransferable TransferableObj)
 {
     _CswNbtResources = CswNbtResources;
     _TransferableObj = TransferableObj;
 }