Beispiel #1
0
        internal static PostageRatesRequest ConstructPostageRatesRequest(IPostageRatesRequest request)
        {
            PostageRatesRequest result = new PostageRatesRequest()
            {
                RequesterID = ToolsClass.GetRequesterID
            };
            CertifiedIntermediary certifiedIntermediary = new CertifiedIntermediary()
            {
                AccountID  = request.AccountID,
                PassPhrase = request.PassPhrase
            };

            result.CertifiedIntermediary = certifiedIntermediary;
            result.MailClass             = Parsers.ParseLabelType(request.MailClass);
            result.DateAdvance           = ConfigManager.Current.DefaultDateAdvance;
            result.Machinable            = ConfigManager.Current.DefaultMachinable;
            SpecialServices specialService = new SpecialServices()
            {
                DeliveryConfirmation    = ToolsClass.ParseBoolONOFF(request.DeliveryConfirmation),
                SignatureConfirmation   = ToolsClass.ParseBoolONOFF(request.SignatureConfirmation),
                CertifiedMail           = ConfigManager.Current.DefaultCertifiedMail,
                RestrictedDelivery      = ConfigManager.Current.DefaultRestrictedDelivery,
                ReturnReceipt           = ConfigManager.Current.DefaultReturnReceipt,
                ElectronicReturnReceipt = ConfigManager.Current.DefaultElectornicReturnReceipt,
                HoldForPickup           = ConfigManager.Current.DefaultHoldForPickup,
                OpenAndDistribute       = ConfigManager.Current.DefaultOpenAndDistribute,
                COD            = ConfigManager.Current.DefaultCOD,
                InsuredMail    = Parsers.ParseInsuredMail(request.InsuredMail),
                AdultSignature = ConfigManager.Current.DefaultAdultSignature,
                AdultSignatureRestrictedDelivery = ConfigManager.Current.DefaultAdultSignatureRestrictedDelivery
            };

            result.Services       = specialService;
            result.InsuredValue   = request.OrderValueForInsurance;
            result.FromPostalCode = request.FromPostalCode;
            result.ToPostalCode   = request.TargetAddress.PostalCode;
            result.ToCountry      = request.TargetAddress.Country;
            result.ToCountryCode  = request.TargetAddress.CountryCode;
            result.WeightOz       = request.PackageDetails.WeightOz;
            Dimensions dimension = new Dimensions()
            {
                Height = request.PackageDetails.Height,
                Length = request.PackageDetails.Length,
                Width  = request.PackageDetails.Width
            };

            result.MailpieceDimensions = dimension;
            return(result);
        }
        public static LabelRequest ConstructLabelRequest(ILabelRequestRequest request)
        {
            DateTime     shipDateTime;
            LabelRequest labelRequest = new LabelRequest()
            {
                Test            = ToolsClass.ParseBoolYESNO(request.PrintSandbox),
                LabelType       = Parsers.ParseLabelType(request.LabelType),
                LabelSize       = Parsers.ParseLabelSize(request.LabelSize, request.LabelType),
                ImageFormat     = ConfigManager.Current.DefaultImageFormat,
                ImageResolution = "300",
                ImageRotation   = "None",
                RequesterID     = ToolsClass.GetRequesterID,
                AccountID       = request.AccountID,
                PassPhrase      = request.PassPhrase,
                MailClass       = Parsers.ParseMailClass(request.MailClass),
                DateAdvance     = ConfigManager.Current.DefaultDateAdvance,
                WeightOz        = request.PackageDetails.WeightOz
            };
            Dimensions dimension = new Dimensions()
            {
                Length = request.PackageDetails.Length,
                Width  = request.PackageDetails.Width,
                Height = request.PackageDetails.Height
            };

            labelRequest.MailpieceDimensions   = dimension;
            labelRequest.PackageTypeIndicator  = ConfigManager.Current.DefaultPackageTypeIndicator;
            labelRequest.Machinable            = ConfigManager.Current.DefaultMachinable;
            labelRequest.SignatureWaiver       = ConfigManager.Current.DefaultSignatureWaiver;
            labelRequest.NoWeekendDelivery     = ConfigManager.Current.DefaultNoWeekendDelivery;
            labelRequest.SundayHolidayDelivery = ConfigManager.Current.DefaultSundayHolidayDelivery;
            labelRequest.EntryFacility         = ConfigManager.Current.DefaultEntryFacility;
            labelRequest.POZipCode             = request.PoZipCode;
            bool includePostage = request.IncludePostage;

            labelRequest.IncludePostage    = includePostage.ToString().ToUpper();
            labelRequest.ReplyPostage      = ConfigManager.Current.DefaultReplayPostage;
            labelRequest.ShowReturnAddress = ConfigManager.Current.DefaultShowReturnAddress;
            includePostage = request.ValidateAddress;
            labelRequest.ValidateAddress = includePostage.ToString().ToUpper();
            SpecialServices specialService = new SpecialServices()
            {
                DeliveryConfirmation    = ToolsClass.ParseBoolONOFF(request.DeliveryConfirmation),
                SignatureConfirmation   = ToolsClass.ParseBoolONOFF(request.SignatureConfirmation),
                CertifiedMail           = ConfigManager.Current.DefaultCertifiedMail,
                RestrictedDelivery      = ConfigManager.Current.DefaultRestrictedDelivery,
                ReturnReceipt           = ConfigManager.Current.DefaultReturnReceipt,
                ElectronicReturnReceipt = ConfigManager.Current.DefaultElectornicReturnReceipt,
                HoldForPickup           = ConfigManager.Current.DefaultHoldForPickup,
                OpenAndDistribute       = ConfigManager.Current.DefaultOpenAndDistribute,
                COD            = ConfigManager.Current.DefaultCOD,
                InsuredMail    = Parsers.ParseInsuredMail(request.InsuredMail),
                AdultSignature = ConfigManager.Current.DefaultAdultSignature,
                AdultSignatureRestrictedDelivery = ConfigManager.Current.DefaultAdultSignatureRestrictedDelivery
            };

            labelRequest.Services             = specialService;
            labelRequest.InsuredValue         = request.OrderValueForInsurance;
            labelRequest.Value                = (float)Convert.ToDouble(request.OrderValueForInsurance);
            labelRequest.CostCenter           = 123;
            labelRequest.PartnerCustomerID    = request.AccountID;
            labelRequest.PartnerTransactionID = request.TransactionId.ToString();
            labelRequest.ReferenceID          = request.OrderId.ToString();
            labelRequest.RubberStamp1         = request.RubberStamp;
            ResponseOptions responseOption = new ResponseOptions()
            {
                PostagePrice = ConfigManager.Current.DefaultResponseOptions
            };

            labelRequest.ResponseOptions = responseOption;
            labelRequest.FromName        = request.SenderDetails.Name;
            labelRequest.FromCompany     = request.SenderDetails.Company;
            labelRequest.ReturnAddress1  = request.SenderDetails.Address1;
            labelRequest.ReturnAddress2  = request.SenderDetails.Address2;
            labelRequest.FromCity        = request.SenderDetails.City;
            labelRequest.FromState       = request.SenderDetails.State;
            labelRequest.FromPostalCode  = request.SenderDetails.PostalCode;
            labelRequest.FromCountry     = request.SenderDetails.Country;
            labelRequest.FromPhone       = request.SenderDetails.Phone;
            labelRequest.FromEMail       = request.SenderDetails.Email;
            labelRequest.ToName          = request.TargetAddress.Name;
            labelRequest.ToCompany       = request.TargetAddress.Company;
            labelRequest.ToAddress1      = request.TargetAddress.Address1;
            labelRequest.ToAddress2      = request.TargetAddress.Address2;
            labelRequest.ToCity          = request.TargetAddress.City;
            labelRequest.ToState         = request.TargetAddress.State;
            labelRequest.ToPostalCode    = request.TargetAddress.PostalCode;
            labelRequest.ToCountry       = request.TargetAddress.Country;
            labelRequest.ToCountryCode   = request.TargetAddress.CountryCode;
            labelRequest.ToPhone         = request.TargetAddress.Phone;
            labelRequest.ToEMail         = request.TargetAddress.Email;

            //labelRequest.LabelTemplate = "abc.ly";

            LabelRequest result = labelRequest;

            if (!request.IsInternationalOrder)
            {
                result.MailpieceShape     = null;
                result.LabelSubtype       = ConfigManager.Current.DefaultDomesticLabelSubType;
                result.IntegratedFormType = null;
            }
            else
            {
                result.MailpieceShape     = Parsers.ParseMailpieceShape(request.MailPieceShape);
                result.LabelSubtype       = ConfigManager.Current.DefaultInternationalLabelSubType;
                result.IntegratedFormType = PrintLabelsClass.GetIntegratedFormType(request.IsInternationalOrder, request.MailClass, request.MailPieceShape);
            }
            if ((request.PackageDetails.Items == null ? false : request.PackageDetails.Items.Count > 0))
            {
                if (request.IsInternationalOrder)
                {
                    result.CustomsCertify = ConfigManager.Current.DefaultCustomsCertify;
                    result.CustomsSigner  = request.CustomSigner;
                    CustomsInfo customsInfo = new CustomsInfo()
                    {
                        CertificateNumber = request.CustomCertificateNumber,
                        ContentsType      = ConfigManager.Current.DefaultMerchandise,
                        RestrictionType   = ConfigManager.Current.DefaultRestrictionType,
                        InvoiceNumber     = request.InvoiceNumber,
                        NonDeliveryOption = ConfigManager.Current.DefaultNonDeliveryOption
                    };
                    result.CustomsInfo = customsInfo;
                    List <CustomsItem> items = new List <CustomsItem>();
                    foreach (IPackageItem item in request.PackageDetails.Items)
                    {
                        CustomsItem cItem = new CustomsItem()
                        {
                            CountryOfOrigin = item.CustomCountry,
                            Description     = item.Description,
                            Quantity        = item.Quantity,
                            Value           = item.Value,
                            Weight          = item.WeightOz
                        };
                        items.Add(cItem);
                    }
                    result.CustomsInfo.CustomsItems = items.ToArray <CustomsItem>();
                }
            }
            try
            {
                shipDateTime    = request.ShipDateTime;
                result.ShipDate = shipDateTime.ToString("MM/dd/yyyy");
            }
            catch
            {
                shipDateTime    = DateTime.Now;
                result.ShipDate = shipDateTime.ToString("MM/dd/yyyy");
            }
            try
            {
                shipDateTime    = request.ShipDateTime;
                result.ShipTime = shipDateTime.ToString("hh:mm tt");
            }
            catch
            {
                shipDateTime    = DateTime.Now;
                result.ShipDate = shipDateTime.ToString("hh:mm tt");
            }
            return(result);
        }
        internal static PostageRateRequest ConstructPostageRateRequest(IPostageRateRequest request)
        {
            DateTime           shipDateTime;
            PostageRateRequest postageRateRequest = new PostageRateRequest()
            {
                RequesterID = ToolsClass.GetRequesterID
            };
            CertifiedIntermediary certifiedIntermediary = new CertifiedIntermediary()
            {
                AccountID  = request.AccountID,
                PassPhrase = request.PassPhrase
            };

            postageRateRequest.CertifiedIntermediary = certifiedIntermediary;
            postageRateRequest.DateAdvance           = ConfigManager.Current.DefaultDateAdvance;
            postageRateRequest.Pricing  = Parsers.ParsePricing(request.Pricing);
            postageRateRequest.WeightOz = request.PackageDetails.WeightOz;
            Dimensions dimension = new Dimensions()
            {
                Height = request.PackageDetails.Height,
                Width  = request.PackageDetails.Width,
                Length = request.PackageDetails.Length
            };

            postageRateRequest.MailpieceDimensions   = dimension;
            postageRateRequest.AutomationRate        = ConfigManager.Current.DefaultAutomationRate;
            postageRateRequest.PackageTypeIndicator  = ConfigManager.Current.DefaultPackageTypeIndicator;
            postageRateRequest.Machinable            = ConfigManager.Current.DefaultMachinable;
            postageRateRequest.ServiceLevel          = ConfigManager.Current.DefaultServiceLevel;
            postageRateRequest.SundayHolidayDelivery = ConfigManager.Current.DefaultSundayHolidayDelivery;
            SpecialServices specialService = new SpecialServices()
            {
                DeliveryConfirmation    = ToolsClass.ParseBoolONOFF(request.DeliveryConfirmation),
                SignatureConfirmation   = ToolsClass.ParseBoolONOFF(request.SignatureConfirmation),
                CertifiedMail           = ConfigManager.Current.DefaultCertifiedMail,
                RestrictedDelivery      = ConfigManager.Current.DefaultRestrictedDelivery,
                ReturnReceipt           = ConfigManager.Current.DefaultReturnReceipt,
                ElectronicReturnReceipt = ConfigManager.Current.DefaultElectornicReturnReceipt,
                HoldForPickup           = ConfigManager.Current.DefaultHoldForPickup,
                OpenAndDistribute       = ConfigManager.Current.DefaultOpenAndDistribute,
                COD            = ConfigManager.Current.DefaultCOD,
                InsuredMail    = Parsers.ParseInsuredMail(request.InsuredMail),
                AdultSignature = ConfigManager.Current.DefaultAdultSignature,
                AdultSignatureRestrictedDelivery = ConfigManager.Current.DefaultAdultSignatureRestrictedDelivery
            };

            postageRateRequest.Services       = specialService;
            postageRateRequest.EntryFacility  = ConfigManager.Current.DefaultEntryFacility;
            postageRateRequest.Value          = request.OrderValueForInsurance;
            postageRateRequest.InsuredValue   = request.OrderValueForInsurance.ToString();
            postageRateRequest.FromPostalCode = request.FromPostalCode;
            postageRateRequest.ToPostalCode   = request.TargetAddress.PostalCode;
            postageRateRequest.ToCountry      = request.TargetAddress.Country;
            postageRateRequest.ToCountryCode  = request.TargetAddress.CountryCode;
            ResponseOptions responseOption = new ResponseOptions()
            {
                PostagePrice = ConfigManager.Current.DefaultResponseOptions
            };

            postageRateRequest.ResponseOptions = responseOption;
            postageRateRequest.MailClass       = Parsers.ParseMailClass(request.MailClass);
            PostageRateRequest result = postageRateRequest;

            try
            {
                shipDateTime    = request.ShipDateTime;
                result.ShipDate = shipDateTime.ToString("MM/dd/yyyy");
            }
            catch
            {
                shipDateTime    = DateTime.Now;
                result.ShipDate = shipDateTime.ToString("MM/dd/yyyy");
            }
            try
            {
                shipDateTime    = request.ShipDateTime;
                result.ShipTime = shipDateTime.ToString("hh:mm tt");
            }
            catch
            {
                shipDateTime    = DateTime.Now;
                result.ShipDate = shipDateTime.ToString("hh:mm tt");
            }
            return(result);
        }