Пример #1
0
        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);
        }
Пример #4
0
        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);
        }
Пример #5
0
        public override Object Execute()
        {
            List <User> results = AngelListClient.UsersBatch(Ids);

            return(ProcessUsersBatchResult(results));
        }