/// <summary> /// Deletes the node from the database. /// </summary> /// <param name="DeleteAllRequiredRelatedNodes"></param> /// <param name="OverridePermissions">For internal use only. When set to true, ignores user permissions.</param> public void delete(bool DeleteAllRequiredRelatedNodes = false, bool OverridePermissions = false, bool ValidateRequiredRelationships = true) { CswNbtMetaDataNodeType thisNT = this.getNodeType(); if (false == OverridePermissions && false == _CswNbtResources.Permit.canNodeType(Security.CswEnumNbtNodeTypePermission.Delete, thisNT)) { throw (new CswDniException(CswEnumErrorType.Warning, "You do not have permission to delete this " + thisNT.NodeTypeName, "User attempted to delete a " + thisNT.NodeTypeName + " without Delete permissions")); } if (null != _CswNbtObjClass) { _CswNbtObjClass.beforeDeleteNode(DeleteAllRequiredRelatedNodes, ValidateRequiredRelationships); } _CswNbtNodeWriter.delete(this); if (null != _CswNbtObjClass) { _CswNbtObjClass.afterDeleteNode(); } _NodeModificationState = CswEnumNbtNodeModificationState.Deleted; _CswNbtResources.Nodes.removeFromCache(this); }//delete()
/// <summary> /// Deletes the node from the database. /// </summary> /// <param name="DeleteAllRequiredRelatedNodes"></param> /// <param name="OverridePermissions">For internal use only. When set to true, ignores user permissions.</param> public void delete(bool DeleteAllRequiredRelatedNodes = false, bool OverridePermissions = false) { if (null == OnRequestDeleteNode) { throw (new CswDniException("There is no delete handler")); } CswNbtMetaDataNodeType thisNT = this.getNodeType(); if (false == OverridePermissions && false == _CswNbtResources.Permit.canNodeType(Security.CswEnumNbtNodeTypePermission.Delete, thisNT)) { throw (new CswDniException(CswEnumErrorType.Warning, "You do not have permission to delete this " + thisNT.NodeTypeName, "User attempted to delete a " + thisNT.NodeTypeName + " without Delete permissions")); } if (null != _CswNbtObjClass) { _CswNbtObjClass.beforeDeleteNode(DeleteAllRequiredRelatedNodes: DeleteAllRequiredRelatedNodes); } OnRequestDeleteNode(this); if (null != _CswNbtObjClass) { _CswNbtObjClass.afterDeleteNode(); } _NodeModificationState = CswEnumNbtNodeModificationState.Deleted; }//delete()
}//fillFromNodeTypeId() public void cancelChanges() { Int32 NodeTypeId = _NodeTypeId; OnRequestFillFromNodeTypeId(this, NodeTypeId); _NodeModificationState = CswEnumNbtNodeModificationState.Unchanged; }//cancelChanges()
}//fill() public void fillFromNodeTypeId(Int32 NodeTypeId) { if (null == OnRequestFillFromNodeTypeId) { throw (new CswDniException("There is no fill handler")); } OnRequestFillFromNodeTypeId(this, NodeTypeId); _NodeModificationState = CswEnumNbtNodeModificationState.Unchanged; }//fillFromNodeTypeId()
}//delete() public void fill(DateTime Date) { if (null == OnRequestFill) { throw (new CswDniException("There is no fill handler")); } OnRequestFill(this, Date); _NodeModificationState = CswEnumNbtNodeModificationState.Unchanged; }//fill()
}//delete() public void fill() { if (NodeSpecies == CswEnumNbtNodeSpecies.Plain) { //bool NodeInfoFetched = false; if (CswTools.IsPrimaryKey(NodeId) && (NodeTypeId <= 0 || NodeName == String.Empty)) { DataTable NodesTable = null; if (CswTools.IsDate(_Date)) { string NodesSql = "select * from " + CswNbtAuditTableAbbreviation.getAuditTableSql(_CswNbtResources, "nodes", _Date, NodeId.PrimaryKey); CswArbitrarySelect NodesTableSelect = _CswNbtResources.makeCswArbitrarySelect("fetchNodeInfo_Select", NodesSql); NodesTable = NodesTableSelect.getTable(); } else { CswTableSelect NodesTableSelect = _CswNbtResources.makeCswTableSelect("CswNbtNode.fill_nodes", "nodes"); NodesTable = NodesTableSelect.getTable("nodeid", NodeId.PrimaryKey); } if (NodesTable.Rows.Count > 0) { read(NodesTable.Rows[0]); RelationalId = new CswPrimaryKey(NodesTable.Rows[0]["relationaltable"].ToString(), CswConvert.ToInt32(NodesTable.Rows[0]["relationalid"])); } CswTimer Timer = new CswTimer(); if (getNodeType() != null) { Properties.fill(false); } _CswNbtResources.logTimerResult("Filled in node property data for node (" + NodeId.ToString() + "): " + NodeName, Timer.ElapsedDurationInSecondsAsString); if (CswTools.IsDate(_Date)) { setReadOnly(value: true, SaveToDb: false); } } } _NodeModificationState = CswEnumNbtNodeModificationState.Unchanged; }//fill()
public void postChanges(bool ForceUpdate, bool IsCopy = false, bool OverrideUniqueValidation = false, bool IsCreate = false, bool SkipEvents = false) { if (CswEnumNbtNodeModificationState.Modified == ModificationState || ForceUpdate) { if (null == OnRequestWriteNode) { throw (new CswDniException("There is no write handler")); } bool Creating = (IsCreate || (IsTempModified && false == IsTemp)); if (false == SkipEvents) { if (Creating) { _CswNbtObjClass.beforeCreateNode(IsCopy, OverrideUniqueValidation); } if (null != _CswNbtObjClass) { _CswNbtObjClass.beforeWriteNode(IsCopy, OverrideUniqueValidation); } } OnRequestWriteNode(this, ForceUpdate, IsCopy, OverrideUniqueValidation, SkipEvents); if (false == SkipEvents) { if (Creating) { _CswNbtObjClass.afterCreateNode(); } if (null != _CswNbtObjClass) { _CswNbtObjClass.afterWriteNode(); } } _NodeModificationState = CswEnumNbtNodeModificationState.Posted; } }//postChanges()
}//fill() public void fillFromNodeTypeId() { Properties.fill(true); _NodeModificationState = CswEnumNbtNodeModificationState.Unchanged; }//fillFromNodeTypeId()
public void setModificationState(String ModState) { _NodeModificationState = ModState; }
public void removeTemp() { _NodeModificationState = CswEnumNbtNodeModificationState.Modified; SessionId = string.Empty; _IsTemp = false; }