public override Object Execute() { var startupsBatchQuery = new GetStartupsBatchQuery(Ids, AngelListClient, defaultLogWriter); List <Startup> results = (List <Startup>)startupsBatchQuery.Execute(); return(ProcessStartupsBatchQuery(results)); }
public void GetStartupsOfUsersBatch_Success() { var ids = new List <int> { 155, 160 }; // investor:true IAngelListClient angelListClient = AngelListClient; var idLists = paramParser.ParseIntList(ids); foreach (List <int> idList in idLists) { var query = new GetUsersStartupIdsQuery(idList, angelListClient); Dictionary <int, List <int> > usersStartupIds = query.Execute(); HashSet <int> uniqueStartupIds = new HashSet <int>(); foreach (List <int> startupIds in usersStartupIds.Values) { foreach (int startupId in startupIds) { uniqueStartupIds.Add(startupId); } } string startupIdsString = String.Join(",", uniqueStartupIds); var startupsBatchCallback = new AsyncCallback(GetStartupsBatch_Success_ProcessResults); var startupsBatchQuery = new GetStartupsBatchQuery(uniqueStartupIds.ToList(), startupsBatchCallback, angelListClient, defaultLogWriter); var result = startupsBatchQuery.BeginExecute(); result.AsyncWaitHandle.WaitOne(20 * 1000); } }