예제 #1
0
 // Token: 0x0600092F RID: 2351 RVA: 0x00042200 File Offset: 0x00040400
 public void OnIndication(string subscriptionId, string indicationType, PropertyBag indicationProperties, PropertyBag sourceInstanceProperties)
 {
     try
     {
         AgentStatus agentStatus;
         string      agentId;
         if (RemoteCollectorConnectedNotificationSubscriber.GetRequiredProperties(sourceInstanceProperties, out agentId, out agentStatus))
         {
             RemoteCollectorConnectedNotificationSubscriber.Log.DebugFormat("Remote Collector on Agent #{0} has changed status", agentId);
             using (CoreSwisContext coreSwisContext = this._swisContextFactory.Create())
             {
                 int?num = (from x in coreSwisContext.Entity <EngineProperties>()
                            where x.PropertyName == "AgentId" && x.PropertyValue == agentId && x.Engine.MasterEngineID == (int?)this._masterEngineId
                            select x.EngineID).FirstOrDefault <int?>();
                 if (num != null)
                 {
                     RemoteCollectorConnectedNotificationSubscriber.Log.DebugFormat("Remote Collector engine #{0} on Agent #{1} changes status to {2}", num, agentId, agentStatus);
                     RemoteCollectorConnectedNotificationSubscriber.EngineComponent obj = new RemoteCollectorConnectedNotificationSubscriber.EngineComponent(num.Value, agentStatus);
                     this._onRemoteCollectorStatusChanged(obj);
                 }
                 else
                 {
                     RemoteCollectorConnectedNotificationSubscriber.Log.DebugFormat("Remote Collector on Agent #{0} in not connected to local master engine #{1}", agentId, this._masterEngineId);
                 }
                 goto IL_212;
             }
         }
         RemoteCollectorConnectedNotificationSubscriber.Log.DebugFormat("Remote Collector Agent connection indication does not have all the required properties (AgentId and AgentStatus)", Array.Empty <object>());
         IL_212 :;
     }
     catch (Exception ex)
     {
         RemoteCollectorConnectedNotificationSubscriber.Log.Error("Unexpected error in processing Agent Remote Collector Agent connection indication", ex);
     }
 }
 public void OnIndication(
     string subscriptionId,
     string indicationType,
     PropertyBag indicationProperties,
     PropertyBag sourceInstanceProperties)
 {
     try
     {
         // ISSUE: object of a compiler-generated type is created
         // ISSUE: variable of a compiler-generated type
         RemoteCollectorConnectedNotificationSubscriber.\u003C\u003Ec__DisplayClass7_0 cDisplayClass70 = new RemoteCollectorConnectedNotificationSubscriber.\u003C\u003Ec__DisplayClass7_0();
         // ISSUE: reference to a compiler-generated field
         cDisplayClass70.\u003C\u003E4__this = this;
         AgentStatus agentStatus;
         // ISSUE: reference to a compiler-generated field
         if (RemoteCollectorConnectedNotificationSubscriber.GetRequiredProperties(sourceInstanceProperties, out cDisplayClass70.agentId, out agentStatus))
         {
             // ISSUE: reference to a compiler-generated field
             RemoteCollectorConnectedNotificationSubscriber.Log.DebugFormat("Remote Collector on Agent #{0} has changed status", (object)cDisplayClass70.agentId);
             using (CoreSwisContext coreSwisContext = this._swisContextFactory.Create())
             {
                 ParameterExpression parameterExpression1;
                 ParameterExpression parameterExpression2;
                 // ISSUE: method reference
                 // ISSUE: method reference
                 // ISSUE: field reference
                 // ISSUE: method reference
                 // ISSUE: method reference
                 // ISSUE: field reference
                 // ISSUE: method reference
                 int?nullable = ((IQueryable <EngineProperties>)((SwisContext)coreSwisContext).Entity <EngineProperties>()).Where <EngineProperties>(Expression.Lambda <Func <EngineProperties, bool> >((Expression)Expression.AndAlso((Expression)Expression.AndAlso((Expression)Expression.Equal((Expression)Expression.Property((Expression)parameterExpression1, (MethodInfo)MethodBase.GetMethodFromHandle(__methodref(EngineProperties.get_PropertyName))), (Expression)Expression.Constant((object)"AgentId", typeof(string))), (Expression)Expression.Equal((Expression)Expression.Property((Expression)parameterExpression1, (MethodInfo)MethodBase.GetMethodFromHandle(__methodref(EngineProperties.get_PropertyValue))), (Expression)Expression.Field((Expression)Expression.Constant((object)cDisplayClass70, typeof(RemoteCollectorConnectedNotificationSubscriber.\u003C\u003Ec__DisplayClass7_0)), FieldInfo.GetFieldFromHandle(__fieldref(RemoteCollectorConnectedNotificationSubscriber.\u003C\u003Ec__DisplayClass7_0.agentId))))), (Expression)Expression.Equal((Expression)Expression.Property((Expression)Expression.Property((Expression)parameterExpression1, (MethodInfo)MethodBase.GetMethodFromHandle(__methodref(EngineProperties.get_Engine))), (MethodInfo)MethodBase.GetMethodFromHandle(__methodref(SolarWinds.InformationService.Linq.Plugins.Core.Orion.Engines.get_MasterEngineID))), (Expression)Expression.Convert((Expression)Expression.Field((Expression)Expression.Constant((object)this, typeof(RemoteCollectorConnectedNotificationSubscriber)), FieldInfo.GetFieldFromHandle(__fieldref(RemoteCollectorConnectedNotificationSubscriber._masterEngineId))), typeof(int?)))), parameterExpression1)).Select <EngineProperties, int?>(Expression.Lambda <Func <EngineProperties, int?> >((Expression)Expression.Property((Expression)parameterExpression2, (MethodInfo)MethodBase.GetMethodFromHandle(__methodref(EngineProperties.get_EngineID))), parameterExpression2)).FirstOrDefault <int?>();
                 if (nullable.HasValue)
                 {
                     // ISSUE: reference to a compiler-generated field
                     RemoteCollectorConnectedNotificationSubscriber.Log.DebugFormat("Remote Collector engine #{0} on Agent #{1} changes status to {2}", (object)nullable, (object)cDisplayClass70.agentId, (object)agentStatus);
                     this._onRemoteCollectorStatusChanged((IEngineComponent) new RemoteCollectorConnectedNotificationSubscriber.EngineComponent(nullable.Value, agentStatus));
                 }
                 else
                 {
                     // ISSUE: reference to a compiler-generated field
                     RemoteCollectorConnectedNotificationSubscriber.Log.DebugFormat("Remote Collector on Agent #{0} in not connected to local master engine #{1}", (object)cDisplayClass70.agentId, (object)this._masterEngineId);
                 }
             }
         }
         else
         {
             RemoteCollectorConnectedNotificationSubscriber.Log.DebugFormat("Remote Collector Agent connection indication does not have all the required properties (AgentId and AgentStatus)", Array.Empty <object>());
         }
     }
     catch (Exception ex)
     {
         RemoteCollectorConnectedNotificationSubscriber.Log.Error((object)"Unexpected error in processing Agent Remote Collector Agent connection indication", ex);
     }
 }