コード例 #1
0
        public void ReportTechnologyPollingAssignmentIndication(
            ITechnologyPolling technologyPolling,
            int[] netObjectsInstanceIDs,
            bool enabledStateChangedTo)
        {
            if (technologyPolling == null)
            {
                throw new ArgumentNullException(nameof(technologyPolling));
            }
            if (netObjectsInstanceIDs == null)
            {
                throw new ArgumentNullException(nameof(netObjectsInstanceIDs));
            }
            if (netObjectsInstanceIDs.Length == 0)
            {
                return;
            }
            ITechnology technology      = TechnologyManager.Instance.TechnologyFactory.GetTechnology(technologyPolling.get_TechnologyID());
            string      netObjectPrefix = NetObjectTypesDAL.GetNetObjectPrefix(this.swisFactory, technology.get_TargetEntity());
            string      entityName      = NetObjectTypesDAL.GetEntityName(this.swisFactory, technology.get_TargetEntity());
            Dictionary <int, string> netObjectsCaptions = NetObjectTypesDAL.GetNetObjectsCaptions(this.swisFactory, technology.get_TargetEntity(), netObjectsInstanceIDs);

            foreach (int objectsInstanceId in netObjectsInstanceIDs)
            {
                PropertyBag propertyBag1 = new PropertyBag();
                ((Dictionary <string, object>)propertyBag1).Add("InstanceType", (object)"Orion.TechnologyPollingAssignments");
                ((Dictionary <string, object>)propertyBag1).Add("InstanceID", (object)objectsInstanceId.ToString());
                ((Dictionary <string, object>)propertyBag1).Add("TechnologyPollingID", (object)technologyPolling.get_TechnologyPollingID());
                ((Dictionary <string, object>)propertyBag1).Add("Enabled", (object)enabledStateChangedTo);
                ((Dictionary <string, object>)propertyBag1).Add("TargetEntity", (object)technology.get_TargetEntity());
                ((Dictionary <string, object>)propertyBag1).Add("TechPollingDispName", (object)technologyPolling.get_DisplayName());
                ((Dictionary <string, object>)propertyBag1).Add("TechnologyDispName", (object)technology.get_DisplayName());
                PropertyBag propertyBag2 = propertyBag1;
                string      str;
                if (netObjectsCaptions.TryGetValue(objectsInstanceId, out str))
                {
                    ((Dictionary <string, object>)propertyBag2).Add("NetObjectCaption", (object)str);
                }
                if (netObjectPrefix != null)
                {
                    ((Dictionary <string, object>)propertyBag2).Add("NetObjectPrefix", (object)netObjectPrefix);
                    ((Dictionary <string, object>)propertyBag2).Add((string)KnownKeys.NetObject, (object)string.Format("{0}:{1}", (object)netObjectPrefix, (object)objectsInstanceId));
                }
                if (entityName != null)
                {
                    ((Dictionary <string, object>)propertyBag2).Add("NetObjectName", (object)entityName);
                }
                this.publishManager.Publish(PublishHelper.ConvertIndication((IIndication) new TechnologyPollingAssignmentIndication((IndicationType)2, propertyBag2)));
            }
        }