/// <summary> /// Get Options from API /// </summary> /// <param name="table"></param> /// <returns></returns> public static List<Option> GetOptions(QueryBuilder.Table table) { try { List<Option> values = new List<Option>(); QueryBuilder query = new QueryBuilder(); query.Build(QueryBuilder.QueryType.Select, 500, table); string json = LoadData(query.QueryString); values = JsonConvert.DeserializeObject<List<Option>>(json); if (values[0].Error != null) { switch (values[0].Error) { case "Incorrect API - key": throw new IncorrectAPIKeyException("VehicleAPI: Incorrect API-key" + query.QueryString); case "Query was empty": throw new QueryEmptyException("VehicleAPI: Query was empty"); case "0 results from query": throw new ZeroResultsFromQueryException("VehicleAPI: 0 results from query"); default: throw new MySQLErrorException($"VehicleAPI: MySQL Error: {values[0].Error}"); } } return values; }catch { throw; } }
/// <summary> /// Get Options from API asynchronously /// </summary> /// <param name="table"></param> /// <returns></returns> public static Task<List<Option>> GetOptionsAsync(QueryBuilder.Table table) { try { return Task.Run(() => GetOptions(table)); } catch { throw; } }
/// <summary> /// Get ChartData from API asynchronously /// </summary> /// <param name="table"></param> /// <param name="customQuery"></param> /// <returns></returns> public static Task<List<ChartItem>> GetChartDataAsync(QueryBuilder.Table table, string customQuery = null) { try { return Task.Run(() => GetChartData(table, customQuery)); } catch { throw; } }