Exemple #1
0
        private IList <ApplicationStatusSummary> InternalGetAllApplicationStatuses(int pageNumber, int applicationStatusExtractWindow)
        {
            // retrieve application statuses for ALL candidates (used in application ETL process)
            var request = new GetApplicationsStatusRequest
            {
                PageNumber = pageNumber,
                RangeTo    = DateTime.UtcNow,
                RangeFrom  = DateTime.UtcNow.AddMinutes(applicationStatusExtractWindow * -1)
            };

            var response = default(GetApplicationsStatusResponse);

            _service.Use("SecureService", client => response = client.GetApplicationsStatus(request));

            if (response == null)
            {
                throw new DomainException(ErrorCodes.GetApplicationsStatusServiceFailed,
                                          new { pageNumber, applicationStatusExtractWindow, rangeFrom = request.RangeFrom, rangeTo = request.RangeTo });
            }

            return(_mapper.Map <CandidateApplication[], IEnumerable <ApplicationStatusSummary> >(response.CandidateApplications).ToList());
        }
Exemple #2
0
        private int InternalGetApplicationStatusesPageCount(int applicationStatusExtractWindow)
        {
            // retrieve application statuses page count so can queue subsequent paged requests
            var request = new GetApplicationsStatusRequest
            {
                PageNumber = 1,
                RangeTo    = DateTime.UtcNow,
                RangeFrom  = DateTime.UtcNow.AddMinutes(applicationStatusExtractWindow * -1)
            };

            var response = default(GetApplicationsStatusResponse);

            _service.Use("SecureService", client => response = client.GetApplicationsStatus(request));

            if (response == null)
            {
                throw new DomainException(ErrorCodes.GetApplicationsStatusServiceFailed,
                                          new { pageNumber = request.PageNumber, applicationStatusExtractWindow, rangeFrom = request.RangeFrom, rangeTo = request.RangeTo });
            }

            return(response.TotalPages);
        }