Esempio n. 1
0
        /// <summary>
        ///     This method calls the job status endpoint
        ///     See: "https://developers.neverbounce.com/v4.0/reference#jobs-status"
        /// </summary>
        /// <param name="model">JobStatusRequestModel</param>
        /// <returns>JobStatusResponseModel</returns>
        public async Task <JobStatusResponseModel> Status(JobStatusRequestModel model)
        {
            var client = new NeverBounceHttpClient(_client, _apiKey, _host);
            var result = await client.MakeRequest("GET", "/jobs/status", model);

            return(JsonConvert.DeserializeObject <JobStatusResponseModel>(result));
        }
        public static async Task <JobStatusResponseModel> Status(NeverBounceSdk sdk)
        {
            var model = new JobStatusRequestModel();

            model.job_id = 290561;
            return(await sdk.Jobs.Status(model));
        }
        public static JobStatusResponseModel Status(NeverBounceSdk sdk)
        {
            var model = new JobStatusRequestModel();

            model.job_id = 290561;
            return(sdk.Jobs.Status(model).Result);
        }
Esempio n. 4
0
        private List <NeverBounceValidationResult> GetEmailJobValidationResult(int jobId)
        {
            // Create job status model
            var model = new JobStatusRequestModel();

            model.job_id = jobId;

            // Query job status
            JobStatusResponseModel resp = sdk.Jobs.Status(model).Result;

            while (!resp.job_status.Equals("complete", StringComparison.InvariantCultureIgnoreCase))
            {
                Task.Delay(new TimeSpan(0, 0, 10)).Wait();
                resp = sdk.Jobs.Status(model).Result;
            }

            // Create job download model
            var downloadModel = new JobDownloadRequestModel();

            downloadModel.job_id = jobId;

            // Download jobs' data
            var validatedResult = sdk.Jobs.Download(downloadModel).Result;

            var result = new List <NeverBounceValidationResult>();

            using (var reader = new StringReader(validatedResult))
            {
                string line;
                while ((line = reader.ReadLine()) != null)
                {
                    var split = line.Split(new[] { "," }, StringSplitOptions.RemoveEmptyEntries);

                    var validationStatus = split[1];

                    var upperCased = validationStatus.First().ToString().ToUpper() + validationStatus.Substring(1);
                    var status     = (NeverBounceValidationStatus)Enum.Parse(typeof(NeverBounceValidationStatus), upperCased);

                    result.Add(new NeverBounceValidationResult
                    {
                        Email  = split[0].Trim('"'),
                        Status = status
                    });
                }
            }

            return(result);
        }