public override void CommitOperation(ref OperationData OpData)
        {
            CswNbtNode item         = _CswNbtResources.Nodes[OpData.Field2.NodeId];
            string     itemTypeName = item.getNodeType().NodeTypeName;
            ICswNbtKioskModeStatusable AsStatusable = (ICswNbtKioskModeStatusable)item.ObjClass;
            string statusMsg = string.Empty;

            if (_CswNbtResources.Permit.canNodeType(CswEnumNbtNodeTypePermission.Edit, item.getNodeType()) && false == AsStatusable.Status.ReadOnly)
            {
                if (AsStatusable.CanChangeStatus(out statusMsg))
                {
                    AsStatusable.ChangeStatus(OpData.Field1.Value);
                    item.postChanges(false);

                    OpData.Log.Add(DateTime.Now + " - Status of " + itemTypeName + " " + OpData.Field2.Value + " changed to \"" + OpData.Field1.Value + "\"");
                    base.CommitOperation(ref OpData);
                }
                else
                {
                    OpData.Field2.FoundObjClass   = string.Empty;
                    OpData.Field2.StatusMsg       = statusMsg;
                    OpData.Field2.ServerValidated = false;
                    OpData.Log.Add(DateTime.Now + " - ERROR: " + statusMsg);
                }
            }
            else
            {
                statusMsg = "You do not have permission to edit " + itemTypeName + " (" + OpData.Field2.Value + ")";
                OpData.Field2.FoundObjClass   = string.Empty;
                OpData.Field2.StatusMsg       = statusMsg;
                OpData.Field2.ServerValidated = false;
                OpData.Log.Add(DateTime.Now + " - ERROR: " + statusMsg);
            }
        }
Esempio n. 2
0
 public CswNbtKioskModeStatusableImpl(CswNbtResources CswNbtResources, ICswNbtKioskModeStatusable StatusableObj)
 {
     _CswNbtResources = CswNbtResources;
     _StatusableObj   = StatusableObj;
 }