Exemplo n.º 1
0
 public BComLnpOrderResponse LnpOrder(BComLnpOrderRequest request)
 {
     return(new HTTPS_Interface().LnpOrder(request));
 }
Exemplo n.º 2
0
        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);
        }