public async Task <Result <bool> > ValidateParameters(JobRequest.JobRequest job) { try { var response = await _webClient.PostAsync("/v2/jobs/validate", job).ConfigureAwait(false); var result = new Result <bool>(); if (response.IsSuccessStatusCode) { var obj = await response.Content.ReadAsAsync <ExpandoObject>().ConfigureAwait(false); result.Data = (bool)obj.FirstOrDefault(x => x.Key == "valid").Value; } result.Error = response.Content.ReadAsAsync <ErrorResponse>().Result; return(result); } catch (Exception e) { throw new HttpRequestException($"{nameof(ValidateParameters)} failed", e); } }
public async Task <Result <JobResponse.SimplePricing> > RequestJobPricing(JobRequest.JobRequest job) { try { var response = await _webClient.PostAsync("/v2/jobs/pricing", job).ConfigureAwait(false); var result = new Result <JobResponse.SimplePricing>(); if (response.IsSuccessStatusCode) { result.Data = await response.Content.ReadAsAsync <JobResponse.SimplePricing>().ConfigureAwait(false); return(result); } result.Error = response.Content.ReadAsAsync <ErrorResponse>().Result; return(result); } catch (Exception e) { throw new HttpRequestException($"{nameof(RequestJobPricing)} failed", e); } }
public async Task <Result <int> > RequestEta(JobRequest.JobRequest job) { try { var response = await _webClient.PostAsync("/v2/jobs/eta", job).ConfigureAwait(false); var result = new Result <int>(); if (response.IsSuccessStatusCode) { var obj = await response.Content.ReadAsAsync <ExpandoObject>().ConfigureAwait(false); result.Data = Convert.ToInt32(obj.FirstOrDefault(x => x.Key == "eta").Value); return(result); } result.Error = response.Content.ReadAsAsync <ErrorResponse>().Result; return(result); } catch (Exception e) { throw new HttpRequestException($"{nameof(RequestEta)} failed", e); } }
private JobRequest.JobRequest CreateJob() { var job = new JobRequest.JobRequest { Job = new JobRequest.Job { AssignmentCode = "ACC861MM", PickUps = new List <JobRequest.PickUp> { new JobRequest.PickUp { Address = "12 rue rivoli, 75001 Paris", Comment = "Ask Bobby", Contact = new JobRequest.Contact { FirstName = "Bobby", LastName = "Brown", Phone = "+33610101010", Email = "*****@*****.**", Company = "Pizza Hut" } } }, DropOffs = new List <JobRequest.DropOff> { new JobRequest.DropOff { PackageType = PackageSizeType.small, PackageDescription = "The blue one.", ClientReference = $"Order_ID#{_random.Next(10000)}", Address = "42 rue rivoli, 75001 Paris", Comment = "2nd floor on the left", Contact = new JobRequest.Contact { FirstName = "Dany", LastName = "Dan", Phone = "+33611112222", Email = "*****@*****.**", Company = "Sample Company Inc." } }, new JobRequest.DropOff { PackageType = PackageSizeType.large, PackageDescription = "The red one.", ClientReference = $"Order_ID#{_random.Next(10000)}", Address = "6 Place des Vosges, 75004 Paris", Comment = "2nd floor on the left", Contact = new JobRequest.Contact { FirstName = "John", LastName = "Doe", Phone = "+33611111111", Email = "*****@*****.**", Company = "Sample Company Inc." } } } } }; return(job); }