Example #1
0
        /// <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()
Example #2
0
        /// <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()
Example #3
0
        }//fillFromNodeTypeId()

        public void cancelChanges()
        {
            Int32 NodeTypeId = _NodeTypeId;

            OnRequestFillFromNodeTypeId(this, NodeTypeId);

            _NodeModificationState = CswEnumNbtNodeModificationState.Unchanged;
        }//cancelChanges()
Example #4
0
        }//fill()

        public void fillFromNodeTypeId(Int32 NodeTypeId)
        {
            if (null == OnRequestFillFromNodeTypeId)
            {
                throw (new CswDniException("There is no fill handler"));
            }

            OnRequestFillFromNodeTypeId(this, NodeTypeId);

            _NodeModificationState = CswEnumNbtNodeModificationState.Unchanged;
        }//fillFromNodeTypeId()
Example #5
0
        }//delete()

        public void fill(DateTime Date)
        {
            if (null == OnRequestFill)
            {
                throw (new CswDniException("There is no fill handler"));
            }

            OnRequestFill(this, Date);

            _NodeModificationState = CswEnumNbtNodeModificationState.Unchanged;
        }//fill()
Example #6
0
        }//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()
Example #7
0
        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()
Example #8
0
        }//fill()

        public void fillFromNodeTypeId()
        {
            Properties.fill(true);
            _NodeModificationState = CswEnumNbtNodeModificationState.Unchanged;
        }//fillFromNodeTypeId()
Example #9
0
 public void setModificationState(String ModState)
 {
     _NodeModificationState = ModState;
 }
Example #10
0
 public void removeTemp()
 {
     _NodeModificationState = CswEnumNbtNodeModificationState.Modified;
     SessionId = string.Empty;
     _IsTemp   = false;
 }