Exemplo n.º 1
0
 /// <summary>
 /// Get traces.
 /// </summary>
 /// <param name="request"></param>
 /// <returns></returns>
 public GXTracesResponse Post(GXTracesRequest request)
 {
     lock (Db)
     {
         List <GXAmiTrace> list = new List <GXAmiTrace>();
         if (request.DataCollectors != null)
         {
             foreach (Guid guid in request.DataCollectors)
             {
                 string query = string.Format("SELECT {0}.* FROM {0} INNER JOIN {1} ON {0}.DataCollectorId = {1}.ID WHERE {1}.Guid = '{2}'",
                                              GuruxAMI.Server.AppHost.GetTableName <GXAmiTrace>(Db),
                                              GuruxAMI.Server.AppHost.GetTableName <GXAmiDataCollector>(Db),
                                              guid.ToString().Replace("-", ""));
                 list.AddRange(Db.Select <GXAmiTrace>(query));
             }
         }
         if (request.DeviceIDs != null)
         {
             foreach (ulong id in request.DeviceIDs)
             {
                 list.AddRange(Db.Select <GXAmiTrace>(q => q.DeviceId == id));
             }
         }
         return(new GXTracesResponse(list.ToArray()));
     }
 }
Exemplo n.º 2
0
 /// <summary>
 /// Get traces.
 /// </summary>
 /// <param name="request"></param>
 /// <returns></returns>
 public GXTracesResponse Post(GXTracesRequest request)
 {
     lock (Db)
     {
         List<GXAmiTrace> list = new List<GXAmiTrace>();
         if (request.DataCollectors != null)
         {
             foreach (Guid guid in request.DataCollectors)
             {
                 string query = string.Format("SELECT {0}.* FROM {0} INNER JOIN {1} ON {0}.DataCollectorId = {1}.ID WHERE {1}.Guid = '{2}'",
                     GuruxAMI.Server.AppHost.GetTableName<GXAmiTrace>(Db),
                     GuruxAMI.Server.AppHost.GetTableName<GXAmiDataCollector>(Db),
                     guid.ToString().Replace("-", ""));
                 list.AddRange(Db.Select<GXAmiTrace>(query));
             }
         }
         if (request.DeviceIDs != null)
         {
             foreach (ulong id in request.DeviceIDs)
             {
                 list.AddRange(Db.Select<GXAmiTrace>(q => q.DeviceId == id));
             }
         }
         return new GXTracesResponse(list.ToArray());
     }
 }