public BComLnpOrderResponse LnpOrder(BComLnpOrderRequest request) { return(new HTTPS_Interface().LnpOrder(request)); }
private BComLnpOrderResponse LnpOrder(DataTable aviatorData) { // Create an HTTPS_ Interface. HTTPS_Interface httpsInterface = new HTTPS_Interface(); // Create Lnp Order Request BComLnpOrderRequest request = new BComLnpOrderRequest(); request.LnpOrder = new LnpOrder(); request.LnpOrder.Subscriber = new Subscriber(); request.LnpOrder.Subscriber.ServiceAddress = new Address(); request.LnpOrder.ListOfPhoneNumbers = new ListOfPhoneNumbers(); // Load the request. try { string subscriberType = aviatorData.Rows[0]["SubscriberType"].SafeToString(); if (string.IsNullOrEmpty(subscriberType)) { throw new ApplicationException("Account Subscriber Type not set."); } request.LnpOrder.CustomerOrderId = this.coid.SafeToString(); request.LnpOrder.RequestedFocDate = aviatorData.Rows[0]["RequestedFocDate"].SafeToString(); request.LnpOrder.BillingTelephoneNumber = aviatorData.Rows[0]["BillingTelephoneNumber"].SafeToString(); request.LnpOrder.LoaAuthorizingPerson = aviatorData.Rows[0]["LoaAuthorizingPerson"].SafeToString(); request.LnpOrder.SiteId = aviatorData.Rows[0]["SiteId"].SafeToString(); request.LnpOrder.Triggered = aviatorData.Rows[0]["Triggered"].SafeToString(); request.LnpOrder.Subscriber.SubscriberType = aviatorData.Rows[0]["SubscriberType"].SafeToString(); request.LnpOrder.Subscriber.ServiceAddress.HouseNumber = aviatorData.Rows[0]["HouseNumber"].SafeToString(); request.LnpOrder.Subscriber.ServiceAddress.StreetName = aviatorData.Rows[0]["StreetName"].SafeToString(); request.LnpOrder.Subscriber.ServiceAddress.City = aviatorData.Rows[0]["City"].SafeToString(); request.LnpOrder.Subscriber.ServiceAddress.StateCode = aviatorData.Rows[0]["StateCode"].SafeToString(); request.LnpOrder.Subscriber.ServiceAddress.Zip = aviatorData.Rows[0]["Zip"].SafeToString(); request.LnpOrder.Subscriber.ServiceAddress.Country = aviatorData.Rows[0]["Country"].SafeToString(); // Determine if a business name is used or not. if (subscriberType == "RESIDENTIAL") { request.LnpOrder.Subscriber.FirstName = aviatorData.Rows[0]["FirstName"].SafeToString(); request.LnpOrder.Subscriber.LastName = aviatorData.Rows[0]["LastName"].SafeToString(); } else if (subscriberType == "BUSINESS") { request.LnpOrder.Subscriber.BusinessName = aviatorData.Rows[0]["BusinessName"].SafeToString(); } else { throw new ApplicationException("Unknown Subscriber Type: " + subscriberType); } // If Wireless info is provided, then set it. if (!string.IsNullOrEmpty(aviatorData.Rows[0]["Wireless_Account"].SafeToString()) || !string.IsNullOrEmpty(aviatorData.Rows[0]["Wireless_PIN"].SafeToString())) { request.LnpOrder.WirelessInfo = new WirelessInfo(); // Add account number if present. if (!string.IsNullOrEmpty(aviatorData.Rows[0]["Wireless_Account"].SafeToString())) { request.LnpOrder.WirelessInfo.AccountNumber = aviatorData.Rows[0]["Wireless_Account"].SafeToString(); } // Add PIN if present. if (!string.IsNullOrEmpty(aviatorData.Rows[0]["Wireless_PIN"].SafeToString())) { request.LnpOrder.WirelessInfo.PinNumber = aviatorData.Rows[0]["Wireless_PIN"].SafeToString(); } } } catch (Exception ex) { throw new ApplicationException("Failed loading Aviator data into order: " + ex.Message); } foreach (DataRow r in aviatorData.Rows) { string tn = r["PhoneNumber"].SafeToString(); if (!string.IsNullOrEmpty(tn)) { request.LnpOrder.ListOfPhoneNumbers.Add(tn); } } // Make a copy of the requests raw xml. this.requestXML = request.ToXml(); // Send the request and get the response. BComLnpOrderResponse response = httpsInterface.LnpOrder(request); // Return the response. return(response); }