Ejemplo n.º 1
0
        }//clear()

        //public void makeNewNodeEntry( CswNbtNode Node, bool IsCopy, bool OverrideUniqueValidation )
        public void makeNewNodeEntry(CswNbtNode Node)
        {
            // case 20970
            CswNbtActQuotas Quotas = new CswNbtActQuotas(_CswNbtResources);

            CswNbtActQuotas.Quota Quota = Quotas.CheckQuotaNT(Node.NodeTypeId);
            if (!Quota.HasSpace)
            {
                Node.Locked = true;
            }

            DataTable NewNodeTable = CswTableUpdateNodes.getEmptyTable();
            DataRow   NewNodeRow   = NewNodeTable.NewRow();

            NewNodeRow["nodename"]      = Node.NodeName;
            NewNodeRow["nodetypeid"]    = CswConvert.ToDbVal(Node.NodeTypeId);
            NewNodeRow["pendingupdate"] = CswConvert.ToDbVal(false);
            NewNodeRow["readonly"]      = CswConvert.ToDbVal(false);
            NewNodeRow["isdemo"]        = CswConvert.ToDbVal(false);
            NewNodeRow["issystem"]      = CswConvert.ToDbVal(false);
            NewNodeRow["hidden"]        = CswConvert.ToDbVal(false);
            NewNodeRow["searchable"]    = CswConvert.ToDbVal(true);
            NewNodeRow["iconfilename"]  = Node.IconFileNameOverride;
            NewNodeRow["created"]       = DateTime.Now;

            //case 27709: nodes must have an explicit audit level
            CswNbtMetaDataNodeType CswNbtMetaDataNodeType = Node.getNodeType();

            if (null != CswNbtMetaDataNodeType)
            {
                NewNodeRow[_CswAuditMetaData.AuditLevelColName] = CswNbtMetaDataNodeType.AuditLevel;
                Node.AuditLevel = CswNbtMetaDataNodeType.AuditLevel; //Otherwise the Node's deafult NoAudit setting gets written to db; trust me on this one
            }

            NewNodeTable.Rows.Add(NewNodeRow);

            Node.NodeId = new CswPrimaryKey("nodes", CswConvert.ToInt32(NewNodeTable.Rows[0]["nodeid"]));

            // case 29311 - Sync with relational data
            if (Node.getNodeType().DoRelationalSync)
            {
                _CswNbtNodeWriterRelationalDb.makeNewNodeEntry(Node, false);
            }
            if (CswTools.IsPrimaryKey(Node.RelationalId))
            {
                NewNodeRow["relationalid"]    = Node.RelationalId.PrimaryKey;
                NewNodeRow["relationaltable"] = Node.RelationalId.TableName;
            }
            CswTableUpdateNodes.update(NewNodeTable, (false == Node.IsTemp));
        }//makeNewNodeEntry()
Ejemplo n.º 2
0
 public CswNbtQuotaResponse()
 {
     Data = new CswNbtActQuotas.Quota();
 }