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