public IEnumerable <List <BidEntry> > GetTotalOrders(bool enableAudit) { var totalOrders = new List <List <BidEntry> >(); foreach (var location in _locations) { int page = 0; var pagedList = new List <BidEntry>(); do { var client = new RestClient(_url); var request = new RestRequest(_request.Replace("{location}", location.ToString()).Replace("{page}", page.ToString()), Method.GET); var response = client.Execute(request); // Bad response body if (string.IsNullOrEmpty(response?.Content)) { _logger.LogWarning("GetTotalOrders empty response body"); continue; } var data = JsonConvert.DeserializeObject <ResultDTO>(response.Content); if (data?.Orders?.Any() == false) { break; } page++; List <BidEntry> orders = data?.Orders?.Select(o => CreateDTO(o, location)).ToList() ?? new List <BidEntry>(); pagedList.AddRange(orders); }while (true); totalOrders.Add(pagedList); if (enableAudit) { var auditOrders = pagedList?.Where(o => o.Alive && o.AcceptedSpeed > 0).ToList(); _audit.CreateAudit(auditOrders); } } return(totalOrders); }
private IEnumerable <List <BidEntry> > GetTotalOrders(bool enableAudit) { var totalOrders = new List <List <BidEntry> >(); foreach (var location in _locations) { var client = new RestClient(_url); var request = new RestRequest(_request.Replace("{location}", location.ToString()), Method.GET); var response = client.Execute(request); var data = JsonConvert.DeserializeObject <ResultDTO>(response.Content); var orders = data.Result?.Orders?.Select(o => CreateDTO(o, location)).ToList(); totalOrders.Add(orders); if (enableAudit) { var auditOrders = orders?.Where(o => o.Alive && o.AcceptedSpeed > 0).ToList(); _audit.CreateAudit(auditOrders); } } return(totalOrders); }