/// <summary> Aggregate result tasks. </summary> /// /// <remarks> Paul, 19/02/2015. </remarks> /// /// <typeparam name="T"> Generic type parameter. </typeparam> /// <param name="c"> The RequestContext to process. </param> /// <param name="post"> true to post. </param> /// <param name="dummy"> The dummy. </param> /// /// <returns> A Task<T>[]. </returns> Task <T>[] AggregateResultTasks <T>(string url, string postArgs, string getArgs, bool post, MySqlData database) { List <MarketRow> allMarkets = database.GetAllMarkets(); // get all unique daemon urls List <string> allDaemons = allMarkets.Select <MarketRow, string>(r => r.daemon_url).Distinct().ToList(); Task <T>[] allTasks = new Task <T> [allDaemons.Count()]; // execute the get on each one for (int i = 0; i < allTasks.Length; i++) { if (post) { allTasks[i] = Rest.JsonApiCallAsync <T>(ApiUrl(allDaemons[i], url), postArgs); } else { allTasks[i] = Rest.JsonApiGetAsync <T>(ApiUrl(allDaemons[i], url) + (getArgs.Length > 0?"?" + getArgs:"")); } } return(allTasks); }
/// <summary> Gets all markets. </summary> /// /// <remarks> Paul, 05/02/2015. </remarks> /// /// <returns> all markets. </returns> protected List <MarketRow> GetAllMarkets() { return(m_dataAccess.GetAllMarkets()); }