//Post public async Task <PricingBookBsDTO> AddNew(PricingBookBsDTO newPricingBook) { try { String newPBString = JsonConvert.SerializeObject(newPricingBook); HttpContent newPBHTTP = new StringContent(newPBString, Encoding.UTF8, "application/json"); HttpResponseMessage response = await productMS.PostAsync($"{msPath}/pricing-books", newPBHTTP); int statusCode = (int)response.StatusCode; if (statusCode == 200) // OK { // Read ASYNC response from HTTPResponse String jsonResponse = await response.Content.ReadAsStringAsync(); // Deserialize response PricingBookBsDTO pricing = JsonConvert.DeserializeObject <PricingBookBsDTO>(jsonResponse); Log.Logger.Information("Successfull"); return(pricing); } else { Log.Logger.Information("BS throws the error: " + statusCode); // something wrong happens! throw new BackingServiceException("BS throws the error: " + statusCode); } } catch (Exception ex) { Log.Logger.Information("Connection with Products is not working: " + ex.Message); throw new BackingServiceException("Connection with Products is not working: " + ex.Message); } }
public async Task <PricingBookBsDTO> GetActivePricingBook() { try { //HttpContent content = new HttpContent(); HttpResponseMessage response = await productMS.GetAsync($"{msPath}/pricing-books/active"); int statusCode = (int)response.StatusCode; if (statusCode == 200) // OK { // Read ASYNC response from HTTPResponse String jsonResponse = await response.Content.ReadAsStringAsync(); Console.WriteLine(jsonResponse); // Deserialize response PricingBookBsDTO pricings = JsonConvert.DeserializeObject <PricingBookBsDTO>(jsonResponse); Log.Logger.Information("Successfull"); return(pricings); } else { Log.Logger.Information("BS throws the error: " + statusCode); // something wrong happens! throw new BackingServiceException("BS throws the error: " + statusCode); } } catch (Exception ex) { Log.Logger.Information("Connection with Products is not working: " + ex.Message); throw new BackingServiceException("Connection with Products is not working: " + ex.Message); } }
public async Task <List <ProductBsDTO> > GetAllProduct() { string msPath = _configuration.GetSection("Microservices").GetSection("PricingBooks").Value; try { // Creating HTTP Client HttpClient productMS = new HttpClient(); // Executing an ASYNC HTTP Method could be: Get, Post, Put, Delete // In this case is a GET // HttpContent content = new HttpResponseMessage response = await productMS.GetAsync($"{msPath}/pricing-books/active"); // HttpResponseMessage response = await productMS.GetAsync($"{msPath}/campaigns/Campaigns-001"); //HttpResponseMessage response = await productMS.GetAsync($"{msPath}/products"); int statusCode = (int)response.StatusCode; if (statusCode == 200) // OK { // Read ASYNC response from HTTPResponse String jsonResponse = await response.Content.ReadAsStringAsync(); // Deserialize response PricingBookBsDTO pricingBook = JsonConvert.DeserializeObject <PricingBookBsDTO>(jsonResponse); return(pricingBook.ProductPrices); } else { // something wrong happens! // Add a new Exception for Backing Service throw new BackingServiceException("BS throws the error: " + statusCode); } } catch { throw new BackingServiceException("Connection with PricingBooks is not working! " + msPath); } }