/// <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())); } }
/// <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()); } }