public int ShippingCreateOrder(int ClientID, string Login, string Password, int OrderID, int LabelsQty, string ShippingMethod, string ShipToEmail, bool SignatureWaiver,
                                       double WeightOZ, CDimensions dim, Models.CAddressBase SourceAddr, Models.CAddressBase DestinationAddr, bool DeliveryConfirmation, bool SignatureConfirmation, bool NoValidate,
                                       bool EmailNotification, string OrderNumber, string ItemDescription, string PrinterID, decimal InsuranceAmount, ref string tracking, ref string description)
        {
            printing = new Printing();
            int Printing = 1;

            if (CrossConnectivity.Current.IsConnected)
            {
                Printing = printing.ShippingCreateOrder(ClientID, Login, Password, OrderID, LabelsQty, ShippingMethod, ShipToEmail, SignatureConfirmation, WeightOZ,
                                                        dim, SourceAddr, DestinationAddr, DeliveryConfirmation, SignatureConfirmation, NoValidate, EmailNotification, OrderNumber,
                                                        ItemDescription, PrinterID, InsuranceAmount, ref tracking, ref description);
            }
            printing = null;
            return(Printing);
        }
        public int ShippingCreate(int ClientID, string Login, string Password, int LabelsQty, string ShippingMethod, string ShipToEmail, bool SignatureWaiver,
                                  double WeightOZ, CDimensions dim, Models.CAddressBase SourceAddr, Models.CAddressBase DestinationAddr, bool DeliveryConfirmation, bool SignatureConfirmation, bool NoValidate,
                                  bool EmailNotification, string OrderNumber, string ItemDescription, string PrinterID, decimal InsuranceAmount, ref string tracking, ref string description)
        {
            string content   = null;
            int    profilear = 1;

            try
            {
                string dimJsonStr             = JsonConvert.SerializeObject(dim);
                string DestinationAddrJsonStr = JsonConvert.SerializeObject(DestinationAddr);
                string SourceAddrJsonStr      = JsonConvert.SerializeObject(SourceAddr);
                string body = "{" + $"'ClientID':'{ClientID}','Login':'******','Password':'******','LabelsQty':'{LabelsQty}','ShippingMethod':'{ShippingMethod}'," +
                              $"'ShipToEmail':'{ShipToEmail}','SignatureWaiver':'{SignatureWaiver}','WeightOZ':'{WeightOZ}','dim':{dimJsonStr},'SourceAddr':{SourceAddrJsonStr}," +
                              $"'DestinationAddr':{DestinationAddrJsonStr},'DeliveryConfirmation':'{DeliveryConfirmation}','SignatureConfirmation':'{SignatureConfirmation}'," +
                              $"'NoValidate':'{NoValidate}','EmailNotification':'{EmailNotification}','OrderNumber':'{OrderNumber}','ItemDescription':'{ItemDescription}'," +
                              $"'PrinterID':'{PrinterID}','InsuranceAmount':'{InsuranceAmount}'" + "}";
                RestClient  client  = new RestClient("https://vlazoo.com");
                RestRequest request = new RestRequest("/WS/Mobile.asmx/ShippingCreate", Method.POST);
                request.AddHeader("Accept", "application/json");
                request.Parameters.Clear();
                request.AddParameter("application/json", body, ParameterType.RequestBody);
                IRestResponse response = client.Execute(request);
                content = response.Content;
                if (content == "" || response.StatusCode == System.Net.HttpStatusCode.NotFound)
                {
                    return(4);
                }
                else
                {
                    ParseJson1(content, out profilear, ref description, ref tracking);
                }
            }
            catch (Exception e)
            {
                return(2);
            }
            return(profilear);
        }
        public int ShippingEstimate(string clientID, string login, string password,
                                    double WeightOZ, CDimensions dim, Models.CAddressBase SourceAddr, Models.CAddressBase DestinationAddr, bool DeliveryConfirmation,
                                    bool SignatureConfirmation, bool NoValidate, decimal InsuranceAmount, ref string description, ref List <Carrier> carriers)
        {
            string content = null;
            int    profilear;

            try
            {
                string dimJsonStr             = JsonConvert.SerializeObject(dim);
                string DestinationAddrJsonStr = JsonConvert.SerializeObject(DestinationAddr);
                string SourceAddrJsonStr      = JsonConvert.SerializeObject(SourceAddr);
                string body = "{" + $"'ClientID':'{clientID}','Login':'******','Password':'******','WeightOZ':'{WeightOZ}','dim':{dimJsonStr}," +
                              $"'SourceAddr':{SourceAddrJsonStr},'DestinationAddr':{DestinationAddrJsonStr},'DeliveryConfirmation':'{DeliveryConfirmation}','SignatureConfirmation':'{SignatureConfirmation}'," +
                              $"'NoValidate':'{NoValidate}','InsuranceAmount':'{InsuranceAmount}'" + "}";
                RestClient  client  = new RestClient("https://vlazoo.com");
                RestRequest request = new RestRequest("/WS/Mobile.asmx/ShippingEstimate", Method.POST);
                request.AddHeader("Accept", "application/json");
                request.Parameters.Clear();
                request.AddParameter("application/json", body, ParameterType.RequestBody);
                IRestResponse response = client.Execute(request);
                content = response.Content;
                if (content == "" || response.StatusCode == System.Net.HttpStatusCode.NotFound)
                {
                    return(4);
                }
                else
                {
                    ParseJson(content, out profilear, ref description, ref carriers);
                }
            }
            catch (Exception e)
            {
                return(2);
            }
            return(profilear);
        }
        public int PrintingWork(string typeSuport, ref string description, CDimensions dim, Models.CAddressBase SourceAddr, Models.CAddressBase DestinationAddr,
                                double WeightOZ, bool SignatureConfirmation, bool DeliveryConfirmation, bool NoValidate, decimal InsuranceAmount, ref List <Carrier> carriers, params string[] dataSuport)
        {
            printing = new Printing();
            int Printing = 1;

            if (CrossConnectivity.Current.IsConnected)
            {
                if (typeSuport == "Options")
                {
                    Printing = printing.ShippingEstimate(dataSuport[1], dataSuport[0], dataSuport[2], WeightOZ, dim, SourceAddr, DestinationAddr,
                                                         DeliveryConfirmation, SignatureConfirmation, NoValidate, InsuranceAmount, ref description, ref carriers);
                }
            }
            printing = null;
            return(Printing);
        }