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);
            }
        }
예제 #2
0
 public CswNbtKioskModeOwnerableImpl(CswNbtResources CswNbtResources, ICswNbtKioskModeOwnerable OwnerableObj)
 {
     _CswNbtResources = CswNbtResources;
     _OwnerableObj    = OwnerableObj;
 }