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); } }
public CswNbtKioskModeStatusableImpl(CswNbtResources CswNbtResources, ICswNbtKioskModeStatusable StatusableObj) { _CswNbtResources = CswNbtResources; _StatusableObj = StatusableObj; }