public override Object Execute()
        {
            var            startupsBatchQuery = new GetStartupsBatchQuery(Ids, AngelListClient, defaultLogWriter);
            List <Startup> results            = (List <Startup>)startupsBatchQuery.Execute();

            return(ProcessStartupsBatchQuery(results));
        }
Example #2
0
        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);
            }
        }