public void Init(System.Web.HttpApplication context)
 {
     context.BeginRequest += Application_BeginRequest;
     context.EndRequest   += Application_EndRequest;
     RootURL = System.Configuration.ConfigurationManager.AppSettings["ROOT_URL"];
     if (string.IsNullOrEmpty(RootURL))
     {
         RootURL = "http://localhost";
     }
     MenCacheHost = System.Configuration.ConfigurationManager.AppSettings["MEMCACHE_HOST"];
     if (string.IsNullOrEmpty(MenCacheHost))
     {
         MenCacheHost = "127.0.0.1:11211";
     }
     Boolean.TryParse(System.Configuration.ConfigurationManager.AppSettings["ENABLED_MEMCACHE"], out MenCacheEnabled);
     Boolean.TryParse(System.Configuration.ConfigurationManager.AppSettings["ENABLED_WEBCACHE"], out WebCacheEnabled);
     GetDespatch = new Despatch();
     try
     {
         if (MenCacheEnabled)
         {
             MenCache = new CacheManager(MenCacheHost);
         }
     }
     catch
     {
     }
 }
 public void Init(System.Web.HttpApplication context)
 {
   
     context.BeginRequest += Application_BeginRequest;
     context.EndRequest += Application_EndRequest;
     RootURL = System.Configuration.ConfigurationManager.AppSettings["ROOT_URL"];
     if (string.IsNullOrEmpty(RootURL))
         RootURL = "http://localhost";
     MenCacheHost = System.Configuration.ConfigurationManager.AppSettings["MEMCACHE_HOST"];
     if (string.IsNullOrEmpty(MenCacheHost))
         MenCacheHost = "127.0.0.1:11211";
     Boolean.TryParse(System.Configuration.ConfigurationManager.AppSettings["ENABLED_MEMCACHE"], out MenCacheEnabled);
     Boolean.TryParse(System.Configuration.ConfigurationManager.AppSettings["ENABLED_WEBCACHE"], out WebCacheEnabled);
     GetDespatch = new Despatch();
     try
     {
         if (MenCacheEnabled)
             MenCache = new CacheManager(MenCacheHost);
        
     }
     catch
     {
     }
     
 }
        public HttpResponseMessage Delete([FromUri] int id, [FromBody] int modifiedBy)
        {
            Despatch despatch = new Despatch();

            despatch.ID         = id;
            despatch.ModifiedBy = modifiedBy;
            return(Request.CreateResponse(HttpStatusCode.OK, despatch.Delete()));
        }
Exemple #4
0
 public Delivery()
 {
     DeliveryId       = new DeliveryId();
     Quantity         = new Quantity();
     DeliveryParty    = new DeliveryParty();
     Shipment         = new Shipment();
     ShipmentStage    = new ShipmentStage();
     MaximumQuantity  = new MaximumQuantity();
     DeliveryLocation = new DeliveryLocation();
     Despatch         = new Despatch();
 }
 public HttpResponseMessage Save([FromBody] Despatch Despatch)
 {
     if (Despatch.ID == 0)
     {
         return(Request.CreateResponse(HttpStatusCode.OK, Despatch.Save()));
     }
     else
     {
         return(Request.CreateResponse(HttpStatusCode.OK, Despatch.Update()));
     }
 }
        public static void LoadDespatch(this DropDownList ddl, int CompanyId)
        {
            DataTable dt = Despatch.GetDespatch(CompanyId);

            ddl.Items.Clear();
            ddl.Items.Add(new ListItem("--select--", "0"));
            if (dt != null)
            {
                foreach (DataRow item in dt.Rows)
                {
                    ddl.Items.Add(new ListItem(item["Name"].ToString(), item["Despatch_Id"].ToString()));
                }
            }
        }
 public bool CanUsePlugin(string xmlData)
 {
     despatch = CheckPlugin(xmlData);
     return despatch != null;
 }
Exemple #8
0
        public void ProcessRules(ref Despatch despatch)
        {
            double shippingcost = parseDouble(despatch.ShippingCost);
            int    isUk         = 0;

            if ((despatch.ShippingAddressCountry.Equals("GB")) ||
                (despatch.ShippingAddressCountry.Equals("UK")) ||
                (despatch.ShippingAddressCountry.Equals("United Kingdom")))
            {
                isUk = 1;
            }

            if (despatch.ServiceTypeCode.Equals("CA-101")) //First Class Mail
            {
                despatch.CarrierName     = "Royal Mail";
                despatch.ServiceTypeCode = "CRL01";
                if (despatch.Packages.Length > 0)
                {
                    despatch.Packages[0].PackageName = "NA";
                }
                else
                {
                    despatch.Packages = createPackageCollection("NA");
                }
            }

            if (despatch.ServiceTypeCode.Equals("CA-102")) //First Class Recorded
            {
                despatch.CarrierName     = "Royal Mail";
                despatch.ServiceTypeCode = "CRL01;11";
                if (despatch.Packages.Length > 0)
                {
                    despatch.Packages[0].PackageName = "NA";
                }
                else
                {
                    despatch.Packages = createPackageCollection("NA");
                }
            }
            if (despatch.ServiceTypeCode.Equals("CA-103")) //Special Delivery 1pm
            {
                despatch.CarrierName     = "Royal Mail";
                despatch.ServiceTypeCode = "SD101";
                if (despatch.Packages.Length > 0)
                {
                    despatch.Packages[0].PackageName = "NA";
                }
                else
                {
                    despatch.Packages = createPackageCollection("NA");
                }
            }
            if (despatch.ServiceTypeCode.Equals("CA-104")) //OLA 250gm
            {
                despatch.CarrierName     = "Royal Mail";
                despatch.ServiceTypeCode = "IE101";
                if (despatch.Packages.Length > 0)
                {
                    despatch.Packages[0].PackageName = "NA";
                }
                else
                {
                    despatch.Packages = createPackageCollection("NA");
                }
            }
            if (despatch.ServiceTypeCode.Equals("CA-105")) //International Signed for
            {
                despatch.CarrierName     = "Royal Mail";
                despatch.ServiceTypeCode = "IE101;32";
                despatch.CarrierName     = "Royal Mail";
                despatch.ServiceTypeCode = "INT";
                if (despatch.Packages.Length > 0)
                {
                    despatch.Packages[0].PackageName = "IP";
                }
                else
                {
                    despatch.Packages = createPackageCollection("IP");
                }
            }
            if (despatch.ServiceTypeCode.Equals("CA-106")) //Airsure
            {
                despatch.CarrierName     = "Royal Mail";
                despatch.ServiceTypeCode = "IE101;22";
            }
            if (despatch.ServiceTypeCode.Equals("CA-107")) //Not Used
            {
                despatch.CarrierName     = "Royal Mail";
                despatch.ServiceTypeCode = "TP201";
                if (despatch.Packages.Length > 0)
                {
                    despatch.Packages[0].PackageName = "NA";
                }
                else
                {
                    despatch.Packages = createPackageCollection("NA");
                }
            }
            if (despatch.ServiceTypeCode.Equals("CA-108")) //OLA 611gm
            {
                despatch.CarrierName     = "Royal Mail";
                despatch.ServiceTypeCode = "IE101";
                if (despatch.Packages.Length > 0)
                {
                    despatch.Packages[0].PackageName = "NA";
                }
                else
                {
                    despatch.Packages = createPackageCollection("NA");
                }
            }
            if ((despatch.ServiceTypeCode.StartsWith("CA-13")) && (isUk == 1) &&
                ((despatch.ShippingAddressPostCode.StartsWith("AB")) ||
                 (despatch.ShippingAddressPostCode.StartsWith("EI")) ||
                 (despatch.ShippingAddressPostCode.StartsWith("ZZ")) ||
                 (despatch.ShippingAddressPostCode.StartsWith("FK")) ||
                 (despatch.ShippingAddressPostCode.StartsWith("G")) ||
                 (despatch.ShippingAddressPostCode.StartsWith("GY")) ||
                 (despatch.ShippingAddressPostCode.StartsWith("HS")) ||
                 (despatch.ShippingAddressPostCode.StartsWith("IM")) ||
                 (despatch.ShippingAddressPostCode.StartsWith("IV")) ||
                 (despatch.ShippingAddressPostCode.StartsWith("KA")) ||
                 (despatch.ShippingAddressPostCode.StartsWith("KW")) ||
                 (despatch.ShippingAddressPostCode.StartsWith("PA")) ||
                 (despatch.ShippingAddressPostCode.StartsWith("PH")) ||
                 (despatch.ShippingAddressPostCode.StartsWith("TR")) ||
                 (despatch.ShippingAddressPostCode.StartsWith("ZE")) ||
                 (despatch.ShippingAddressPostCode.StartsWith("BT")) ||
                 (despatch.ShippingAddressPostCode.StartsWith("JE"))
                )
                )
            {
                if ((despatch.ShippingAddressPostCode.StartsWith("EI")) ||
                    (despatch.ShippingAddressPostCode.StartsWith("ZZ")))
                {
                    despatch.CarrierName     = "DPD";
                    despatch.ServiceTypeCode = "11";
                }
                else
                {
                    despatch.CarrierName     = "Royal Mail";
                    despatch.ServiceTypeCode = "SD101";
                    despatch.ServiceTypeCode = "TP201";
                    if (despatch.Packages.Length > 0)
                    {
                        despatch.Packages[0].PackageName = "NA";
                    }
                    else
                    {
                        despatch.Packages = createPackageCollection("NA");
                    }
                }
            }
            else
            {
                if (despatch.ServiceTypeCode.Equals("CA-131")) //DPD Parcel Next Day
                {
                    despatch.CarrierName     = "DPD";
                    despatch.ServiceTypeCode = "12";
                }
                else
                {
                    if (despatch.ServiceTypeCode.Equals("CA-132")) //DPD Parcel - 2 day
                    {
                        despatch.CarrierName     = "DPD";
                        despatch.ServiceTypeCode = "11";
                    }
                    else
                    {
                        if (despatch.ServiceTypeCode.Equals("CA-133")) //DPD Express Pak - Next day
                        {
                            despatch.CarrierName     = "DPD";
                            despatch.ServiceTypeCode = "32";

                            /*
                             *  despatch.CarrierName = "Royal Mail";
                             *  despatch.ServiceTypeCode = "INT";
                             *  if (despatch.Packages.Length > 0)
                             *      despatch.Packages[0].PackageName = "IP";
                             *  else
                             *      despatch.Packages = createPackageCollection("IP");
                             */
                        }
                        else
                        {
                            if (despatch.ServiceTypeCode.Equals("CA-134")) //DPD Express Pak - before 10am
                            {
                                despatch.CarrierName     = "DPD";
                                despatch.ServiceTypeCode = "34";

                                /*
                                 * despatch.CarrierName = "Royal Mail";
                                 * despatch.ServiceTypeCode = "MP601";
                                 * if (despatch.Packages.Length > 0)
                                 *  despatch.Packages[0].PackageName = "IP";
                                 * else
                                 *  despatch.Packages = createPackageCollection("IP");
                                 */
                            }
                            else
                            {
                                if (despatch.ServiceTypeCode.Equals("CA-136")) //Parcel Swapit
                                {
                                    despatch.CarrierName     = "DPD";
                                    despatch.ServiceTypeCode = "42";
                                }
                                else
                                {
                                    if (despatch.ServiceTypeCode.Equals("CA-135")) //DPD International
                                    {
                                        if (isUk == 1)
                                        {
                                            despatch.CarrierName     = "DPD";
                                            despatch.ServiceTypeCode = "11";
                                        }
                                        else
                                        {
                                            despatch.CarrierName     = "DPD";
                                            despatch.ServiceTypeCode = "19";
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }

            if (despatch.CarrierName.Equals("Royal Mail"))
            {
                despatch.CustomerName = MapToANSI127(despatch.CustomerName);
                if (despatch.CustomerName.Equals(""))
                {
                    string[] w = despatch.CustomerEmail.Split('@');
                    if (w.Count() > 0)
                    {
                        despatch.CustomerName = w[0];
                    }
                }
                despatch.ShippingAddressLine1    = MapToANSI127(despatch.ShippingAddressLine1);
                despatch.ShippingAddressLine2    = MapToANSI127(despatch.ShippingAddressLine2);
                despatch.ShippingAddressTownCity = MapToANSI127(despatch.ShippingAddressTownCity);
                despatch.ShippingAddressRegion   = MapToANSI127(despatch.ShippingAddressRegion);
                despatch.ShippingAddressCountry  = MapToANSI127(despatch.ShippingAddressCountry);
                despatch.ShippingAddressPostCode = MapToANSI127(despatch.ShippingAddressPostCode);
            }
        }
 public HttpResponseMessage Get([FromUri] int id, [FromBody] int CompanyId)
 {
     return(Request.CreateResponse(HttpStatusCode.OK, Despatch.GetDetails(id, CompanyId)));
 }
        private void processRules(ref Despatch despatch)
        {
            string code;
            if (string.IsNullOrEmpty(despatch.ShippingAddressCountry))
            {
                code = "GB";
            }
            else if (despatch.ShippingAddressCountry.Length > 2)
            {
                code = LookupCountryCode(despatch.ShippingAddressCountry);
            } else {
                code = despatch.ShippingAddressCountry.ToUpper();
            }
            despatch.ShippingAddressCountry = code;

            if (despatch.Packages.Length == 0)
                throw new FormatException("Dispatch does not contain any packages");
            if (despatch.Packages.Length > 1)
                throw new FormatException("Dispatch does not contain multiple packages");

            double shipping = parseDouble(despatch.ShippingCost);
            double value = parseDouble(despatch.TotalSale);
            double tax = parseDouble(despatch.TaxPaid);
            double retail = despatch.Items.Sum(i => parseDouble(i.RetailPrice));
            // Add tax
            retail *= (1 + (1 / ((value - tax) / tax)));
            double weight = parseDouble(despatch.Packages[0].Weight);
            var dims = new List<double>{
                parseDouble(despatch.Packages[0].Width),
                parseDouble(despatch.Packages[0].Height),
                parseDouble(despatch.Packages[0].Depth),
            };

            dims.Sort();

            if (value == 0)
            {
                despatch.TotalSale = "0.01";
                value = 0.01;
            }

            if (code == "GB" || code == "JE" || code == "GE" || code == "IM") {
                despatch.CarrierName = "Royal Mail";
                if (value == 0.01 && retail > 9.98) {
                    despatch.ServiceTypeName = "ROYAL MAIL TRACKED 24 / 48 + ROYAL MAIL TRACKED 24";
                    despatch.Packages[0].PackageName = "N";
                } else if (shipping > 0) {
                    despatch.ServiceTypeName = "ROYAL MAIL TRACKED 24 / 48 + ROYAL MAIL TRACKED 24";
                    despatch.Packages[0].PackageName = "N";
                } else if (value > 24.98) {
                    despatch.ServiceTypeName = "ROYAL MAIL TRACKED 24 / 48 + ROYAL MAIL TRACKED 48";
                    despatch.Packages[0].PackageName = "N";
                } else if (value <= 24.98) {
                    despatch.ServiceTypeName = "SECOND CLASS + ROYAL MAIL 24/48";
                    if (dims[2] <= 35 && dims[1] <= 25 && dims[0] <= 2)
                    {
                        despatch.Packages[0].PackageName = "F";
                    }
                    else if (dims[2] > 35 || dims[1] > 25 || dims[0] > 2)
                    {
                        despatch.Packages[0].PackageName = "P";
                    }
                    else
                    {
                        throw new FormatException("Could not match shipment against the rules.");
                    }
                }
            }
            else if (value == 0.01 && retail > 9.98)
            {
                despatch.CarrierName = "MHI";
                despatch.ServiceTypeName = "COURIER";
            }
            else if (shipping > 10 || value > 99.98)
            {
                despatch.CarrierName = "Fedex";
                despatch.ServiceTypeName = "FEDEX PACK - INTERNATIONAL PRIORITY";
                despatch.ServiceTypeCode = "INTERNATIONAL_PRIORITY";
            }
            else if (value > 29.98 && value < 99.98)
            {
                despatch.CarrierName = "MHI";
                despatch.ServiceTypeName = "COURIER";
            }
            else if ((code == "DE" || code == "US" || code == "CA" || code == "FR" || code == "ES" || code == "AU") && value <= 29.98)
            {
                despatch.CarrierName = "Royal Mail";
                despatch.ServiceTypeName = "INTERNATIONAL BUS MAIL PARCELS MAX SORT PRIORITY";
                despatch.Packages[0].PackageName = "E";
            }
            else if (code != "DE" && code != "US" && code != "CA" && code != "FR" && code != "ES" && code != "AU" && code != "GB" && code != "JE" && code != "GE" && code != "IM")
            {
                despatch.CarrierName = "Royal Mail";
                despatch.ServiceTypeName = "INTERNATIONAL BUS MAIL PARCELS ZONE SORT PRIORITY";
                despatch.Packages[0].PackageName = "E";
            }
            else
            {
                throw new FormatException("Could not match shipment against the rules.");
            }

            /*despatch.CarrierName = "Royal Mail";
            despatch.Packages[0].PackageName = "E";
            if (code == "GB" && shipping > 3)
            {
                despatch.ServiceTypeName = "ROYAL MAIL TRACKED 24 / 48 + ROYAL MAIL TRACKED 24";
                despatch.Packages[0].PackageName = "N";
            }
            else if (code == "GB")
            {
                if (value == 0.01 && retail >= 10)
                {
                    despatch.ServiceTypeName = "ROYAL MAIL TRACKED 24 / 48 + ROYAL MAIL TRACKED 48";
                    despatch.Packages[0].PackageName = "N";
                }
                else if (value < 30)
                {
                    despatch.ServiceTypeName = "SECOND CLASS + ROYAL MAIL 24/48";
                    despatch.Packages[0].PackageName = "P";
                    if (dimension < 2.5 && weight < 0.75)
                    {
                        despatch.Packages[0].PackageName = "F";
                    }
                }
                else
                {
                    despatch.ServiceTypeName = "ROYAL MAIL TRACKED 24 / 48 + ROYAL MAIL TRACKED 48";
                    despatch.Packages[0].PackageName = "N";
                }
            }
            else if (shipping > 10)
            {
                despatch.CarrierName = "Fedex";
                despatch.ServiceTypeName = "FEDEX PACK - INTERNATIONAL PRIORITY";
                despatch.ServiceTypeCode = "INTERNATIONAL_PRIORITY";
            }
            else
            {
                despatch.CarrierName = "MHI";
                if (value == 0.01 && retail >= 10) {
                    despatch.ServiceTypeName = "COURIER";
                }
                else if (value < 30)
                {
                    despatch.ServiceTypeName = "POST";
                }
                else
                {
                    despatch.ServiceTypeName = "COURIER";
                }
            }*/
        }
        public void ProcessRules(ref Despatch despatch)
        {
            try
            {
                if (string.IsNullOrEmpty(despatch.CustomerMobile))
                    despatch.CustomerMobile = despatch.CustomerPhone;

                despatch.CustomerMobile = Regex.Replace(despatch.CustomerMobile, "[^0-9]", "");
                if (string.IsNullOrEmpty(despatch.CustomerMobile))
                    despatch.CustomerMobile = "01827769115";

                normalize(ref despatch);

                processRules(ref despatch);

                if (despatch.ShippingAddressCountry == "US")
                {
                    if (despatch.ShippingAddressPostCode.Length > 5)
                        despatch.ShippingAddressPostCode = despatch.ShippingAddressPostCode.Substring(0, 5);
                    if (despatch.ShippingAddressRegion.Length > 2)
                    {
                        if (!us_states.ContainsKey(despatch.ShippingAddressRegion.ToLower()))
                        {
                            throw new FormatException("Invalid state: " + despatch.ShippingAddressRegion);
                        }
                        despatch.ShippingAddressRegion = us_states[despatch.ShippingAddressRegion.ToLower()];
                    }
                }
                else if (despatch.ShippingAddressCountry == "CA")
                {
                    if (despatch.ShippingAddressRegion.Length > 2)
                    {
                        if (!ca_states.ContainsKey(despatch.ShippingAddressRegion.ToLower()))
                        {
                            throw new FormatException("Invalid state: " + despatch.ShippingAddressRegion);
                        }
                        despatch.ShippingAddressRegion = ca_states[despatch.ShippingAddressRegion.ToLower()];
                    }
                }

                if (despatch.CarrierName == "Royal Mail")
                {
                    despatch.CustomerMobile = "";
                    if (!RoyalMailCodes.ContainsKey(despatch.ServiceTypeName))
                        throw new FormatException("Unknown service name: " + despatch.ServiceTypeName);

                    despatch.ServiceTypeCode = RoyalMailCodes[despatch.ServiceTypeName];
                    despatch.CustomerName = MapToANSI127(despatch.CustomerName);
                    if (despatch.CustomerName.Equals(""))
                    {
                        string[] parts = despatch.CustomerEmail.Split('@');
                        if (parts.Count() > 0)
                        {
                            despatch.CustomerName = parts[0].Replace('.', ' ');
                        }
                    }
                    despatch.Attribute1 = MapToANSI127(despatch.Attribute1);
                    despatch.ShippingAddressLine1 = MapToANSI127(despatch.ShippingAddressLine1);
                    despatch.ShippingAddressLine2 = MapToANSI127(despatch.ShippingAddressLine2);
                    despatch.ShippingAddressTownCity = MapToANSI127(despatch.ShippingAddressTownCity);
                    despatch.ShippingAddressRegion = MapToANSI127(despatch.ShippingAddressRegion);
                    despatch.ShippingAddressCountry = MapToANSI127(despatch.ShippingAddressCountry);
                    despatch.ShippingAddressPostCode = MapToANSI127(despatch.ShippingAddressPostCode);
                }
            }
            catch (FormatException e)
            {
                despatch.CarrierName = "";
                MessageBox.Show(e.Message + "\n\nPlease process shipment manually.");
            }
        }
        public void normalize(ref Despatch despatch)
        {
            despatch.CustomerName = RemoveDiacritics(despatch.CustomerName);

            despatch.Attribute1 = RemoveDiacritics(despatch.Attribute1);

            despatch.InvoiceAddressLine1 = RemoveDiacritics(despatch.InvoiceAddressLine1);
            despatch.InvoiceAddressLine2 = RemoveDiacritics(despatch.InvoiceAddressLine2);
            despatch.InvoiceAddressTownCity = RemoveDiacritics(despatch.InvoiceAddressTownCity);
            despatch.InvoiceAddressRegion = RemoveDiacritics(despatch.InvoiceAddressRegion);
            despatch.InvoiceAddressCountry = RemoveDiacritics(despatch.InvoiceAddressCountry);
            despatch.InvoiceAddressPostCode = RemoveDiacritics(despatch.InvoiceAddressPostCode);

            despatch.ShippingAddressLine1 = RemoveDiacritics(despatch.ShippingAddressLine1);
            despatch.ShippingAddressLine2 = RemoveDiacritics(despatch.ShippingAddressLine2);
            despatch.ShippingAddressTownCity = RemoveDiacritics(despatch.ShippingAddressTownCity);
            despatch.ShippingAddressRegion = RemoveDiacritics(despatch.ShippingAddressRegion);
            despatch.ShippingAddressCountry = RemoveDiacritics(despatch.ShippingAddressCountry);
            despatch.ShippingAddressPostCode = RemoveDiacritics(despatch.ShippingAddressPostCode);
        }
        public void ProcessRules(ref Despatch despatch)
        {
            double shippingcost = parseDouble(despatch.ShippingCost);
            int isUk = 0;

            if ((despatch.ShippingAddressCountry.Equals("GB")) ||
                (despatch.ShippingAddressCountry.Equals("UK")) ||
                (despatch.ShippingAddressCountry.Equals("United Kingdom")))
            {
                isUk = 1;
            }

            if (despatch.ServiceTypeCode.Equals("CA-101")) //First Class Mail
            {
                despatch.CarrierName = "Royal Mail";
                despatch.ServiceTypeCode = "CRL01";
                if (despatch.Packages.Length > 0)
                    despatch.Packages[0].PackageName = "NA";
                else
                    despatch.Packages = createPackageCollection("NA");
            }

            if (despatch.ServiceTypeCode.Equals("CA-102")) //First Class Recorded
            {
                despatch.CarrierName = "Royal Mail";
                despatch.ServiceTypeCode = "CRL01;11";
                if (despatch.Packages.Length > 0)
                    despatch.Packages[0].PackageName = "NA";
                else
                    despatch.Packages = createPackageCollection("NA");
            }
            if (despatch.ServiceTypeCode.Equals("CA-103")) //Special Delivery 1pm
            {
                despatch.CarrierName = "Royal Mail";
                despatch.ServiceTypeCode = "SD101";
                if (despatch.Packages.Length > 0)
                    despatch.Packages[0].PackageName = "NA";
                else
                    despatch.Packages = createPackageCollection("NA");
            }
            if (despatch.ServiceTypeCode.Equals("CA-104")) //OLA 250gm
            {
                despatch.CarrierName = "Royal Mail";
                despatch.ServiceTypeCode = "IE101";
                if (despatch.Packages.Length > 0)
                    despatch.Packages[0].PackageName = "NA";
                else
                    despatch.Packages = createPackageCollection("NA");
            }
            if (despatch.ServiceTypeCode.Equals("CA-105")) //International Signed for
            {
                despatch.CarrierName = "Royal Mail";
                despatch.ServiceTypeCode = "IE101;32";
                despatch.CarrierName = "Royal Mail";
                despatch.ServiceTypeCode = "INT";
                if (despatch.Packages.Length > 0)
                    despatch.Packages[0].PackageName = "IP";
                else
                    despatch.Packages = createPackageCollection("IP");

            }
            if (despatch.ServiceTypeCode.Equals("CA-106")) //Airsure
            {
                despatch.CarrierName = "Royal Mail";
                despatch.ServiceTypeCode = "IE101;22";
            }
            if (despatch.ServiceTypeCode.Equals("CA-107")) //Not Used
            {
                despatch.CarrierName = "Royal Mail";
                despatch.ServiceTypeCode = "TP201";
                if (despatch.Packages.Length > 0)
                    despatch.Packages[0].PackageName = "NA";
                else
                    despatch.Packages = createPackageCollection("NA");

            }
            if (despatch.ServiceTypeCode.Equals("CA-108")) //OLA 611gm
            {
                despatch.CarrierName = "Royal Mail";
                despatch.ServiceTypeCode = "IE101";
                if (despatch.Packages.Length > 0)
                    despatch.Packages[0].PackageName = "NA";
                else
                    despatch.Packages = createPackageCollection("NA");
            }
            if ((despatch.ServiceTypeCode.StartsWith("CA-13")) && (isUk==1) &&
                ((despatch.ShippingAddressPostCode.StartsWith("AB")) ||
                 (despatch.ShippingAddressPostCode.StartsWith("EI")) ||
                 (despatch.ShippingAddressPostCode.StartsWith("ZZ")) ||
                 (despatch.ShippingAddressPostCode.StartsWith("FK")) ||
                 (despatch.ShippingAddressPostCode.StartsWith("G")) ||
                 (despatch.ShippingAddressPostCode.StartsWith("GY")) ||
                 (despatch.ShippingAddressPostCode.StartsWith("HS")) ||
                 (despatch.ShippingAddressPostCode.StartsWith("IM")) ||
                 (despatch.ShippingAddressPostCode.StartsWith("IV")) ||
                 (despatch.ShippingAddressPostCode.StartsWith("KA")) ||
                 (despatch.ShippingAddressPostCode.StartsWith("KW")) ||
                 (despatch.ShippingAddressPostCode.StartsWith("PA")) ||
                 (despatch.ShippingAddressPostCode.StartsWith("PH")) ||
                 (despatch.ShippingAddressPostCode.StartsWith("TR")) ||
                 (despatch.ShippingAddressPostCode.StartsWith("ZE")) ||
                 (despatch.ShippingAddressPostCode.StartsWith("BT")) ||
                 (despatch.ShippingAddressPostCode.StartsWith("JE"))
                )
               )
            {
                if ((despatch.ShippingAddressPostCode.StartsWith("EI")) ||
                 (despatch.ShippingAddressPostCode.StartsWith("ZZ")) )
                {
                    despatch.CarrierName = "DPD";
                    despatch.ServiceTypeCode = "11";
                }
                else
                {
                    despatch.CarrierName = "Royal Mail";
                    despatch.ServiceTypeCode = "SD101";
                    despatch.ServiceTypeCode = "TP201";
                    if (despatch.Packages.Length > 0)
                        despatch.Packages[0].PackageName = "NA";
                    else
                        despatch.Packages = createPackageCollection("NA");
                }
            }
            else
            {
                if (despatch.ServiceTypeCode.Equals("CA-131")) //DPD Parcel Next Day
                {
                    despatch.CarrierName = "DPD";
                    despatch.ServiceTypeCode = "12";
                }
                else
                {
                    if (despatch.ServiceTypeCode.Equals("CA-132")) //DPD Parcel - 2 day
                    {
                        despatch.CarrierName = "DPD";
                        despatch.ServiceTypeCode = "11";
                    }
                    else
                    {
                        if (despatch.ServiceTypeCode.Equals("CA-133")) //DPD Express Pak - Next day
                        {
                            despatch.CarrierName = "DPD";
                            despatch.ServiceTypeCode = "32";
                            /*
                                despatch.CarrierName = "Royal Mail";
                                despatch.ServiceTypeCode = "INT";
                                if (despatch.Packages.Length > 0)
                                    despatch.Packages[0].PackageName = "IP";
                                else
                                    despatch.Packages = createPackageCollection("IP");
                            */
                        }
                        else
                        {
                            if (despatch.ServiceTypeCode.Equals("CA-134")) //DPD Express Pak - before 10am
                            {
                                despatch.CarrierName = "DPD";
                                despatch.ServiceTypeCode = "34";
                                /*
                                despatch.CarrierName = "Royal Mail";
                                despatch.ServiceTypeCode = "MP601";
                                if (despatch.Packages.Length > 0)
                                    despatch.Packages[0].PackageName = "IP";
                                else
                                    despatch.Packages = createPackageCollection("IP");
                                */
                            }
                            else
                            {
                                if (despatch.ServiceTypeCode.Equals("CA-136")) //Parcel Swapit
                                {
                                    despatch.CarrierName = "DPD";
                                    despatch.ServiceTypeCode = "42";
                                }
                                else
                                {
                                    if (despatch.ServiceTypeCode.Equals("CA-135")) //DPD International
                                    {
                                        if (isUk == 1)
                                        {
                                            despatch.CarrierName = "DPD";
                                            despatch.ServiceTypeCode = "11";
                                        }
                                        else
                                        {
                                            despatch.CarrierName = "DPD";
                                            despatch.ServiceTypeCode = "19";
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }

            if (despatch.CarrierName.Equals("Royal Mail"))
            {
                despatch.CustomerName = MapToANSI127(despatch.CustomerName);
                if (despatch.CustomerName.Equals(""))
                {
                    string[] w = despatch.CustomerEmail.Split('@');
                    if (w.Count() > 0)
                    {
                        despatch.CustomerName = w[0];
                    }
                }
                despatch.ShippingAddressLine1 = MapToANSI127(despatch.ShippingAddressLine1);
                despatch.ShippingAddressLine2 = MapToANSI127(despatch.ShippingAddressLine2);
                despatch.ShippingAddressTownCity = MapToANSI127(despatch.ShippingAddressTownCity);
                despatch.ShippingAddressRegion = MapToANSI127(despatch.ShippingAddressRegion);
                despatch.ShippingAddressCountry = MapToANSI127(despatch.ShippingAddressCountry);
                despatch.ShippingAddressPostCode = MapToANSI127(despatch.ShippingAddressPostCode);
            }
        }
Exemple #14
0
 public bool CanUsePlugin(string xmlData)
 {
     despatch = CheckPlugin(xmlData);
     return(despatch != null);
 }
 public HttpResponseMessage GetDespatch([FromBody] int CompanyId)
 {
     return(Request.CreateResponse(HttpStatusCode.OK, (object)Despatch.GetDespatchList(CompanyId)));
 }
        protected override Despatch CheckPlugin(string xmlData)
        {
            currentDespatch = DespatchPluginFactory.DeserializeStandardXml<Despatch>(xmlData);
            if (currentDespatch.CarrierName != "Fedex")
            {
                currentDespatch = null;
                return null;
            }

            buildRequest();

            return currentDespatch;
        }