} // 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()
Exemplo n.º 2
0
 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);
            }
        }
Exemplo n.º 4
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()
        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()
Exemplo n.º 7
0
 public CswNbtWebServiceQuotas(CswNbtResources CswNbtResources)
 {
     _CswNbtResources = CswNbtResources;
     _CswNbtActQuotas = new CswNbtActQuotas(_CswNbtResources);
 }