public async Task <object> GetContext(Catalog.Request.Charts chart) { var response = await client.ExecuteAsync(new RestRequest(security.RequestCharts(chart), Method.GET), source.Token); try { if (response != null && response.RawBytes != null && response.RawBytes.Length > 0) { Coin += security.GetSettleTheFare(response.RawBytes.Length); SendMessage(Coin); } if (Array.Exists(chart.Start.ToCharArray(), o => char.IsLetter(o)) && Array.Exists(chart.End.ToCharArray(), o => char.IsLetter(o))) { return(JsonConvert.DeserializeObject <string>(response.Content)); } else { return(JsonConvert.DeserializeObject <IEnumerable <Charts> >(response.Content)); } } catch (Exception ex) { SendMessage(ex.StackTrace); SendMessage((int)response.StatusCode); SendMessage(chart); } return(null); }
internal async Task <Queue <Charts> > CallUpTheChartAsync(Catalog.Request.Charts charts) { var queue = new Queue <Charts>(); if (await client.GetContext(charts) is IEnumerable <Charts> enumerable) { foreach (var arg in enumerable) { queue.Enqueue(arg); } } return(queue); }
public async Task <object> GetContext(Catalog.Request.Charts chart) { try { var request = security.RequestCharts(chart); if (request.Item2) { if (Array.Exists(chart.Start.ToCharArray(), o => char.IsLetter(o)) && Array.Exists(chart.End.ToCharArray(), o => char.IsLetter(o))) { return(JsonConvert.DeserializeObject <string>(request.Item1)); } else { return(JsonConvert.DeserializeObject <IEnumerable <Charts> >(request.Item1)); } } else { var response = await client.ExecuteAsync(new RestRequest(request.Item1, Method.GET), source.Token); if (response != null && response.RawBytes != null && response.RawBytes.Length > 0) { if (chart.End.Length == 6 && chart.End.CompareTo(DateTime.Now.AddDays(-1).ToString("yyMMdd")) < 0 || chart.End.Length < 6) { GC.Collect(); await security.Save(chart, response.Content); } Coin += security.GetSettleTheFare(response.RawBytes.Length); SendMessage(Coin); } if (Array.Exists(chart.Start.ToCharArray(), o => char.IsLetter(o)) && Array.Exists(chart.End.ToCharArray(), o => char.IsLetter(o))) { return(JsonConvert.DeserializeObject <string>(response.Content)); } else { return(JsonConvert.DeserializeObject <IEnumerable <Charts> >(response.Content)); } } } catch (Exception ex) { SendMessage(ex.StackTrace); SendMessage(chart); } return(null); }
public async Task <object> GetContext(Catalog.Request.Charts chart) { try { var request = security.RequestCharts(chart); if (request.Item2) { if (Array.Exists(chart.Start.ToCharArray(), o => char.IsLetter(o)) && Array.Exists(chart.End.ToCharArray(), o => char.IsLetter(o))) { return(JsonConvert.DeserializeObject <string>(request.Item1)); } else { var enumerable = JsonConvert.DeserializeObject <IEnumerable <Charts> >(request.Item1); if (string.IsNullOrEmpty(chart.Start) == false && string.IsNullOrEmpty(chart.End) == false) { if (Environment.Is64BitProcess && enumerable.First().Volume > 0) { var file = security.RequestDaysExists(chart); if (file.Item1 == false && await security.RequestDaysAsync(file.Item2, enumerable) is int count) { SendMessage(count); } } else if (enumerable.First().Volume > 0) { var file = security.RequestDaysExists(chart); if (file.Item1 && await security.RequestDaysAsync(file.Item2) is string contents) { return(JsonConvert.DeserializeObject <IEnumerable <Charts> >(contents)); } } } return(enumerable); } } else { var response = await client.ExecuteAsync(new RestRequest(request.Item1, Method.GET), source.Token); object result = null; if (Array.Exists(chart.Start.ToCharArray(), o => char.IsLetter(o)) && Array.Exists(chart.End.ToCharArray(), o => char.IsLetter(o))) { result = JsonConvert.DeserializeObject <string>(response.Content); } else { result = JsonConvert.DeserializeObject <IEnumerable <Charts> >(response.Content); } if (response != null && response.RawBytes != null && response.RawBytes.Length > 0) { if (chart.End.Length == 6 && chart.End.CompareTo(DateTime.Now.AddDays(-1).ToString("yyMMdd")) < 0 || chart.End.Length < 6) { await security.Save(chart, response.Content); } Coin += security.GetSettleTheFare(response.RawBytes.Length); SendMessage(Coin); } return(result); } } catch (Exception ex) { SendMessage(ex.StackTrace); security.Delete(chart); } return(null); }