public ELog_[] GetLogs(ELogRequest aRequest) { var reqJson = JsonConvert.SerializeObject(aRequest); var resJson = PostJson("logs5", reqJson); var result = JsonConvert.DeserializeObject <ELog_[]>(resJson); return(result); }
private LogItem[] OnUpdate() { var req = new ELogRequest { LastID = LastId, Level = _model.Level == LevelType.None ? null : (byte?)_model.Level, SeverityCutoff = _model.SeverityCutoff == SeverityCutoffType.None ? null : (byte?)_model.SeverityCutoff, Top = _model.Top == TopType.None ? null : (byte?)_model.Top, Groups = _model.Groups.ToArray(), Instances = _model.Instances.ToArray() }; ELog_[] response; try { response = _model.Cache.Service.GetLogs(req); } catch { return(new[] { new LogItem { Body = "INTERNAL ERROR", Created = DateTime.Now } }); } if (response.Length > 0) { LastId = response.Max(x => x.ID); } IEnumerable <ELog_> groupedRequest; if (_model.GroupDuplicatingItems) { groupedRequest = GroupDuplicatingLogs(response).OrderBy(x => x.ID); } else { groupedRequest = response; } var result = groupedRequest.Select(x => { var created = x.Created.ToLocalTime(); return(new LogItem { ID = x.ID, Created = created, CreatedStr = created.ToString(x.Doubled ? _model.DuplicatedDateTimeFormat : _model.DateTimeFormat), Received = x.Received.ToLocalTime(), ReceivedStr = x.Received.ToLocalTime().ToString(_model.DateTimeFormat), Level = x.Level, Severity = x.Severity, Instance = _model.Cache.GetInstance(x.InstanceID), Body = x.Body.Replace(Environment.NewLine, "") }); }); return(result.ToArray()); }