} // OnEnable() protected override void OnDisable() { CswNbtMetaDataObjectClass invGrpOC = _CswNbtResources.MetaData.getObjectClass(CswEnumNbtObjectClass.InventoryGroupClass); CswNbtActQuotas QuotasAct = new CswNbtActQuotas(_CswNbtResources); CswNbtView invGrpView = new CswNbtView(_CswNbtResources); invGrpView.AddViewRelationship(invGrpOC, false); ICswNbtTree invGroupsTree = _CswNbtResources.Trees.getTreeFromView(invGrpView, false, true, true); int InvGroupsCount = invGroupsTree.getChildNodeCount(); if (InvGroupsCount > 1 && false == _CswNbtResources.CurrentNbtUser is CswNbtSystemUser) { throw new CswDniException(CswEnumErrorType.Warning, "Cannot disable the MultiInventoryGroup Module when multiple Inventory Groups exist", InvGroupsCount + " Inventory Group nodes exist, cannot disable the MultiInventoryGroup module"); } else { QuotasAct.SetQuotaForObjectClass(invGrpOC.ObjectClassId, 1, true); } // CIS-51775 CswNbtMetaDataObjectClass LocationOC = _CswNbtResources.MetaData.getObjectClass(CswEnumNbtObjectClass.LocationClass); foreach (Int32 LocationNodeTypeId in LocationOC.getNodeTypeIds().Keys) { _CswNbtResources.Modules.HideProp(LocationNodeTypeId, CswNbtObjClassLocation.PropertyName.InventoryGroup); } CswNbtMetaDataObjectClass RequestItemOC = _CswNbtResources.MetaData.getObjectClass(CswEnumNbtObjectClass.RequestItemClass); foreach (Int32 RequestItemNodeTypeId in RequestItemOC.getNodeTypeIds().Keys) { _CswNbtResources.Modules.HideProp(RequestItemNodeTypeId, CswNbtObjClassRequestItem.PropertyName.InventoryGroup); } _CswNbtResources.Modules.ToggleView(true, "Inventory Groups", CswEnumNbtViewVisibility.Global); } // OnDisable()
public static void getQuota(ICswResources Resources, CswNbtQuotaResponse Response, QuotaRequest Request) { if (null != Resources) { CswNbtResources NbtResources = (CswNbtResources)Resources; CswNbtActQuotas ActQuotas = new CswNbtActQuotas(NbtResources); int NodeTypeId = Request.NodeTypeId; int ObjectClassId = Request.ObjectClassId; if (NodeTypeId <= 0) { CswNbtNodeKey Key = wsNBT.getNodeKey(Request.NodeKey); if (null != Key) { NodeTypeId = Key.NodeTypeId; ObjectClassId = Key.ObjectClassId; } } if (NodeTypeId <= 0) { CswNbtNode Node = NbtResources.Nodes[Request.NodeId]; if (null != Node) { NodeTypeId = Node.NodeTypeId; ObjectClassId = Node.getObjectClassId(); } } Response.Data = ActQuotas.CheckQuota(NodeTypeId, ObjectClassId); } }
protected override void OnEnable() { CswNbtMetaDataNodeType siteNT = _CswNbtResources.MetaData.getNodeType("Site"); if (null != siteNT) { CswNbtActQuotas QuotasAct = new CswNbtActQuotas(_CswNbtResources); QuotasAct.SetQuotaForNodeType(siteNT.NodeTypeId, Int32.MinValue, false); } }
}//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()
protected override void OnDisable() { CswNbtMetaDataNodeType siteNT = _CswNbtResources.MetaData.getNodeType("Site"); if (null != siteNT) { CswNbtActQuotas QuotasAct = new CswNbtActQuotas(_CswNbtResources); CswNbtView sitesView = new CswNbtView(_CswNbtResources); sitesView.AddViewRelationship(siteNT, false); ICswNbtTree sitesTree = _CswNbtResources.Trees.getTreeFromView(sitesView, false, true, true); int SitesCount = sitesTree.getChildNodeCount(); if (SitesCount > 1 && false == _CswNbtResources.CurrentNbtUser is CswNbtSystemUser) { throw new CswDniException(CswEnumErrorType.Warning, "Cannot disable the MultiSite Module when multiple Sites exist", SitesCount + " Site nodes exist, cannot disable the MultiSite module"); } else { QuotasAct.SetQuotaForNodeType(siteNT.NodeTypeId, 1, true); } } } // OnDisable()
protected override void OnEnable() { int invGrpOC_Id = _CswNbtResources.MetaData.getObjectClassId(CswEnumNbtObjectClass.InventoryGroupClass); CswNbtActQuotas QuotasAct = new CswNbtActQuotas(_CswNbtResources); QuotasAct.SetQuotaForObjectClass(invGrpOC_Id, Int32.MinValue, false); // CIS-51775 CswNbtMetaDataObjectClass LocationOC = _CswNbtResources.MetaData.getObjectClass(CswEnumNbtObjectClass.LocationClass); foreach (Int32 LocationNodeTypeId in LocationOC.getNodeTypeIds().Keys) { _CswNbtResources.Modules.ShowProp(LocationNodeTypeId, CswNbtObjClassLocation.PropertyName.InventoryGroup); } CswNbtMetaDataObjectClass RequestItemOC = _CswNbtResources.MetaData.getObjectClass(CswEnumNbtObjectClass.RequestItemClass); foreach (Int32 RequestItemNodeTypeId in RequestItemOC.getNodeTypeIds().Keys) { _CswNbtResources.Modules.ShowProp(RequestItemNodeTypeId, CswNbtObjClassRequestItem.PropertyName.InventoryGroup); } _CswNbtResources.Modules.ToggleView(false, "Inventory Groups", CswEnumNbtViewVisibility.Global); } // OnEnable()
public CswNbtWebServiceQuotas(CswNbtResources CswNbtResources) { _CswNbtResources = CswNbtResources; _CswNbtActQuotas = new CswNbtActQuotas(_CswNbtResources); }