public override Object Execute() { if (Ids == null) { throw new InvalidOperationException("Ids cannot be null."); } List <User> batch = new List <User>(); // Query in a loop to respect AngelListClient.QueryParameterLimit. for (int queryStartIndex = 0; queryStartIndex <= Ids.Count; queryStartIndex += AngelListClient.QueryParameterLimit) { int queryCount = (Ids.Count - queryStartIndex > AngelListClient.QueryParameterLimit) ? AngelListClient.QueryParameterLimit : Ids.Count - queryStartIndex; var ids = Ids.GetRange(queryStartIndex, queryCount); try { batch.AddRange(AngelListClient.UsersBatch(ids)); } catch (AngelListClientException ex) { var entry = new LogEntry(); entry.Categories = new string[] { "General", "Warning" }; entry.Message = string.Format("An exception occurred when calling the service. No further ids will be processed. Id list: {0}. Exception: {1}", String.Join(",", ids), ex); entry.Severity = TraceEventType.Error; defaultLogWriter.Write(entry); } } return(batch); }
public override List <int> Execute() { List <int> startupIds = new List <int>(); int page = 0; int lastPage = int.MaxValue; do { UserRoles response = AngelListClient.UserRoles(Id, page); if (response.StartupRoles == null) { response.StartupRoles = new StartupRole[0]; } foreach (var startup in response.StartupRoles) { startupIds.Add(startup.Startup.Id); } page = response.Page; lastPage = response.LastPage; }while (page++ < lastPage); return(startupIds); }
public override Object Execute() { if (Ids == null) { throw new InvalidOperationException("Ids cannot be null."); } List <int> batchIds = new List <int>(); List <Startup> startupList = new List <Startup>(); List <AngelList.JsonTypes.Startup> batch; // Query in a loop to respect AngelListClient.QueryParameterLimit. for (int queryStartIndex = 0; queryStartIndex <= Ids.Count; queryStartIndex += AngelListClient.QueryParameterLimit) { int queryCount = (Ids.Count - queryStartIndex > AngelListClient.QueryParameterLimit) ? AngelListClient.QueryParameterLimit : Ids.Count - queryStartIndex; batch = AngelListClient.StartupsBatch(Ids.GetRange(queryStartIndex, queryCount)); if (batch == null) { batch = new List <AngelList.JsonTypes.Startup>(); } startupList.AddRange(batch); } return(startupList); }
public override Object Execute() { List <UserStartupRoles> userStartUpRoles = new List <UserStartupRoles>(); int page = 0; int lastPage = int.MaxValue; do { UserRoles response = AngelListClient.UserRoles(Id, page); if (response.StartupRoles == null) { response.StartupRoles = new StartupRole[0]; } userStartUpRoles.Add(new UserStartupRoles(Id, response.StartupRoles.ToList())); page = response.Page; lastPage = response.LastPage; }while (page++ < lastPage); return(userStartUpRoles); }
public override Object Execute() { List <User> results = AngelListClient.UsersBatch(Ids); return(ProcessUsersBatchResult(results)); }