private static void RequestInvoiceDetails(string apiKey, string filename, InvoiceDetailType invoiceFeatures, string baseUrl, string sdkVersion, bool writeFile, IWebProxy proxy = null) { var urlString = $"{baseUrl}/invoicedetail/detect"; // Use Proxy HttpClientHandler httpClientHandler = null; if (proxy != null) { httpClientHandler = new HttpClientHandler { Proxy = proxy, UseProxy = true }; } using (var client = httpClientHandler != null ? new HttpClient(httpClientHandler) : new HttpClient()) { client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); client.DefaultRequestHeaders.Add("X-ApiKey", apiKey); // The current version must be provided in the request!!! var version = sdkVersion; var request = CreateRequest(filename, invoiceFeatures, version); try { var response = client.PostAsync(urlString, request).Result; var resultString = response.Content.ReadAsStringAsync().Result; if (response.IsSuccessStatusCode) { Console.WriteLine($"Received response for {filename}"); dynamic parsedJson = JsonConvert.DeserializeObject(resultString); var formattedResultString = JsonConvert.SerializeObject(parsedJson, Formatting.Indented); if (writeFile) { File.WriteAllText(filename + ".json", formattedResultString); } else { Console.WriteLine(); Console.WriteLine(formattedResultString); } } else { Console.WriteLine(response.StatusCode + "\n" + response.Content + "\n" + response.ReasonPhrase + "\n" + resultString); } } catch (Exception e) { Console.WriteLine(e.Message); } } }
private static StringContent CreateRequest(string filename, InvoiceDetailType invoiceFeatures, string version) { byte[] buffer; using (var reader = new StreamReader(filename)) { buffer = new byte[reader.BaseStream.Length]; reader.BaseStream.Read(buffer, 0, (int)reader.BaseStream.Length); } var request = new InvoiceDetailRequest { Filter = invoiceFeatures, Invoice = Convert.ToBase64String(buffer), Version = version }; var stringContent = new StringContent(request.ToJson(), Encoding.UTF8, "application/json"); return(stringContent); }
public void Initialize(List <InvoiceDetail> mainServices, InvoiceDetailType invoiceDetailType) { List_mainServices = mainServices; InvoiceDetailType = invoiceDetailType; CommonViewsActions.FillGridlookupEdit(lkeMainService, List_mainServices, "ServiceName"); chkAccommodationServices.Checked = true; Service_cu accommodationService = Service_cu.ItemsList.Find( item => Convert.ToInt32(item.ServiceType_P_ID).Equals((int)DB_ServiceType.ParentAccommodationService)); if (accommodationService != null) { InvoiceDetail accommodationMainInvoiceDetail = List_mainServices.Find(item => Convert.ToInt32(item.Service_CU_ID).Equals(Convert.ToInt32(accommodationService.ID))); if (accommodationMainInvoiceDetail != null) { lkeMainService.EditValue = accommodationMainInvoiceDetail.ID; } } }