public static string GetNestProId() { RestClient client = new RestClient($@"https://api.bigcommerce.com/stores/v68kp5ifsa/v2/customers/{customerId}"); RestRequest request = BigCommerceHelper.CreateNewGetRequest(); IRestResponse customerApiResponse = client.Execute(request); BigCommerceCustomer parsedCustomer = JsonConvert.DeserializeObject <BigCommerceCustomer>(customerApiResponse.Content); string nestProId = ""; if (parsedCustomer.form_fields == null) { string errorMessage = $"No Nest Pro Id found for Big Commerce customer {customerId}"; string title = "Error in ImportOrdersToNetSuite"; string color = "red"; TeamsHelper teamsMessage = new TeamsHelper(title, errorMessage, color, Program.errorLogsUrl); teamsMessage.LogToMicrosoftTeams(teamsMessage); } else { foreach (var formField in parsedCustomer.form_fields) { if (formField.name.ToLower().Contains("nest pro id")) { nestProId = formField.value; } } } return(nestProId); }
public static void SetTaxableStatus(BigCommerceCustomer customer, OrderToImport request) { // If there is any value in the tax_exemption_category, they are tax exempt request.Taxable = customer.tax_exempt_category == ""; // If customer is taxable, set tax vendor to Avatax request.TaxVendor = request.Taxable ? "1990053" : " "; }
public static BigCommerceCustomer GetCustomerData() { string customerUrl = $"https://api.bigcommerce.com/stores/v68kp5ifsa/v2/customers/{customerId}"; RestClient client = new RestClient(customerUrl); RestRequest request = BigCommerceHelper.CreateNewGetRequest(); IRestResponse customerApiResponse = client.Execute(request); BigCommerceCustomer parsedCustomer = JsonConvert.DeserializeObject <BigCommerceCustomer>(customerApiResponse.Content); return(parsedCustomer); }
public void WillSetTaxableStatus() { BigCommerceCustomer customer = new BigCommerceCustomer(); customer.tax_exempt_category = "G"; OrderToImport netsuiteRequest = new OrderToImport(); bool expectedTaxableStatus = false; NetSuiteController.SetTaxableStatus(customer, netsuiteRequest); Assert.Equal(expectedTaxableStatus, netsuiteRequest.Taxable); }
public void WillSetCustomerName() { string firstName = "Morty"; string lastName = "Smith"; BigCommerceCustomer customer = new BigCommerceCustomer(); customer.first_name = firstName; customer.last_name = lastName; OrderToImport netsuiteRequest = new OrderToImport(); NetSuiteController.SetCustomerName(customer, netsuiteRequest); Assert.Equal(firstName, netsuiteRequest.CustomerFirstName); Assert.Equal(lastName, netsuiteRequest.CustomerLastName); Assert.Equal(firstName + " " + lastName, netsuiteRequest.CustomerName); }
public static OrderToImport CreateNetSuiteRequest(Order parsedOrder, ShippingAddress customerShippingAddress) { OrderToImport netsuiteRequest = new OrderToImport(); BigCommerceCustomer customerData = BigCommerceController.GetCustomerData(); SetTaxableStatus(customerData, netsuiteRequest); SetCustomerName(customerData, netsuiteRequest); SetBillingInformation(parsedOrder, netsuiteRequest); SetShippingInformation(customerShippingAddress, netsuiteRequest); SetOrderDetails(parsedOrder, netsuiteRequest); netsuiteRequest.NestProId = BigCommerceController.GetNestProId(); Log.Information("netsuiteRequest {@netsuiteRequest}", netsuiteRequest); return(netsuiteRequest); }
public static void SetCustomerName(BigCommerceCustomer customer, OrderToImport request) { request.CustomerFirstName = customer.first_name; request.CustomerLastName = customer.last_name; }