Пример #1
0
        protected void btn_price_query_Click(object sender, EventArgs e)
        {
            string end_country = Request.Form["to"].ToString();

            string counts  = Request.Form["count"].ToString();
            string weights = Request.Form["weight"].ToString();
            string lengths = Request.Form["length"].ToString();
            string widths  = Request.Form["width"].ToString();
            string heights = Request.Form["height"].ToString();

            string[] count_array  = counts.Split(',');
            string[] weight_array = weights.Split(',');
            string[] length_array = lengths.Split(',');
            string[] width_array  = widths.Split(',');
            string[] height_array = heights.Split(',');

            ArrayList goods = new ArrayList();

            for (int i = 0; i < weight_array.Length; i++)
            {
                PackageMeasure good = new PackageMeasure();
                good.Count  = int.Parse(count_array[i].ToString());
                good.Weight = float.Parse(weight_array[i].ToString());
                good.Length = float.Parse(length_array[i].ToString());
                good.Width  = float.Parse(width_array[i].ToString());
                good.Height = float.Parse(height_array[i].ToString());

                goods.Add(good);
            }

            Session["package_array"] = goods;
            Session["to"]            = end_country;

            Response.Redirect("parcelforce-economy.aspx?step=2");
        }
Пример #2
0
        //计算邮费
        private void initPostages(ArrayList array)
        {
            postages = new float[array.Count];

            for (int i = 0; i < array.Count; i++)
            {
                float total = 0;
                PackagesToSameAddress temp_package = (PackagesToSameAddress)array[i];
                ArrayList package_measure_array = temp_package.Package_Array;
                
                string departure = temp_package.Departure;
                string destination = temp_package.Destination;
                string postway = temp_package.Postway;

                for (int j = 0; j < package_measure_array.Count; j++)
                {
                    PackageMeasure package_measure = (PackageMeasure)package_measure_array[j];
                    total += package_measure.Count * new InterFaceQuote().getQuote(Session["name"].ToString(), destination, package_measure.Weight, package_measure.Length, package_measure.Width, package_measure.Height, postway);
                }

                postages[i] = (int)(100*total)/100.0f;
            }

            Session["postages"] = postages;
        }
Пример #3
0
        //快速询价实现
        protected void btn_price_query_Click(object sender, EventArgs e)
        {
            //CollectionPlusLabel collectionplus = new CollectionPlusLabel("SanFeng Zhang", "18888881", "", "06/01/2015");
            //collectionplus.makeCollectionPlusLabel("D:\\CollectionPlus.pdf");


            string end_country = Request.Form["to"].ToString();

            string counts  = Request.Form["count"].ToString();
            string weights = Request.Form["weight"].ToString();
            string lengths = Request.Form["length"].ToString();
            string widths  = Request.Form["width"].ToString();
            string heights = Request.Form["height"].ToString();

            string[] count_array  = counts.Split(',');
            string[] weight_array = weights.Split(',');
            string[] length_array = lengths.Split(',');
            string[] width_array  = widths.Split(',');
            string[] height_array = heights.Split(',');

            ArrayList goods = new ArrayList();

            for (int i = 0; i < weight_array.Length; i++)
            {
                PackageMeasure good = new PackageMeasure();
                good.Count  = int.Parse(count_array[i].ToString());
                good.Weight = float.Parse(weight_array[i].ToString());
                good.Length = float.Parse(length_array[i].ToString());
                good.Width  = float.Parse(width_array[i].ToString());
                good.Height = float.Parse(height_array[i].ToString());

                goods.Add(good);
            }

            Session["package_array"] = goods;
            Session["to"]            = end_country;

            Response.Redirect("views/index.aspx?step=2");
        }
Пример #4
0
        /// <summary>
        /// 通过快件的起始国家、终止国家、重量、长度、宽度、高度 来查找数据库得到 邮费 然后创建 table
        /// </summary>
        /// <param name="startcountry">起始国家</param>
        /// <param name="endcountry">终止国家</param>
        /// <param name="weight">重量</param>
        /// <param name="length">长度</param>
        /// <param name="width">宽度</param>
        /// <param name="height">高度</param>
        /// <returns>将所需要的数据存放在 DataTable中</returns>
        private DataTable createDataTable(string name, string destination, ArrayList goods)
        {
            //计算总共的包裹数
            int package_count = 0;

            for (int i = 0; i < goods.Count; i++)
            {
                PackageMeasure temp_package = (PackageMeasure)goods[i];
                package_count += temp_package.Count;
            }

            DataTable dt = new DataTable("postway");
            //为表添加列
            DataColumn dc = new DataColumn("id", typeof(int));

            dc.AutoIncrement = true;
            dt.Columns.Add(dc);

            dc = new DataColumn("postname", typeof(string));
            dt.Columns.Add(dc);

            dc = new DataColumn("imagePath", typeof(string));
            dt.Columns.Add(dc);

            dc = new DataColumn("note", typeof(string));
            dt.Columns.Add(dc);

            dc = new DataColumn("money", typeof(string));
            dt.Columns.Add(dc);


            //tb_postways 里面存放了 postname、note信息
            DataTable tb_postways = new PosCalculate().getPostWays(destination);

            foreach (DataRow tempdr in tb_postways.Rows)
            {
                float total = 0;

                if (package_count <= 1)
                {
                    DataRow dr       = dt.NewRow();
                    string  post_way = tempdr["post_way"].ToString();
                    dr["postname"]  = post_way;
                    dr["imagePath"] = "../../image/image/" + tempdr["image_path"].ToString();
                    dr["note"]      = tempdr["note"].ToString();

                    for (int i = 0; i < goods.Count; i++)
                    {
                        PackageMeasure good = (PackageMeasure)goods[i];

                        total += good.Count * new InterFaceQuote().getQuote(name, destination, good.Weight, good.Length, good.Width, good.Height, post_way);
                    }

                    total = (int)(total * 100) / 100.0f;

                    dr["money"] = "£" + total.ToString();
                    dt.Rows.Add(dr);
                }
                else if (package_count <= 3)
                {
                    DataRow dr       = dt.NewRow();
                    string  post_way = tempdr["post_way"].ToString();

                    if (!post_way.Contains("PF-IPE"))
                    {
                        dr["postname"]  = post_way;
                        dr["imagePath"] = "../../image/image/" + tempdr["image_path"].ToString();
                        dr["note"]      = tempdr["note"].ToString();

                        for (int i = 0; i < goods.Count; i++)
                        {
                            PackageMeasure good = (PackageMeasure)goods[i];

                            total += good.Count * new InterFaceQuote().getQuote(destination, destination, good.Weight, good.Length, good.Width, good.Height, post_way);
                        }

                        total = (int)(total * 100) / 100.0f;

                        total = (float)Math.Round(total, 2);

                        dr["money"] = total;
                        dt.Rows.Add(dr);
                    }
                }
                else
                {
                    DataRow dr       = dt.NewRow();
                    string  post_way = tempdr["post_way"].ToString();

                    if (!post_way.Contains("PF-IPE") && !post_way.Contains("PF-GPR"))
                    {
                        dr["postname"]  = post_way;
                        dr["imagePath"] = "../../image/image/" + tempdr["image_path"].ToString();
                        dr["note"]      = tempdr["note"].ToString();

                        for (int i = 0; i < goods.Count; i++)
                        {
                            PackageMeasure good = (PackageMeasure)goods[i];

                            total += good.Count * new InterFaceQuote().getQuote(name, destination, good.Weight, good.Length, good.Width, good.Height, post_way);
                        }

                        total = (int)(total * 100) / 100.0f;

                        dr["money"] = total;
                        dt.Rows.Add(dr);
                    }
                }
            }

            return(dt);
        }
Пример #5
0
        /// <summary>
        /// 去购物车结算
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void btn_step_two_Click(object sender, EventArgs e)
        {
            string insurance     = Request.Form["select_insurance"];
            string delivery_time = Request.Form["collection_time"];

            //获取包裹信息
            ArrayList packages    = new ArrayList();
            string    description = Request.Form["description"];
            string    values      = Request.Form["package_value"];

            string[] description_array = description.Split(',');
            string[] value_array       = values.Split(',');

            int    j           = 0;
            string destination = Session["to"].ToString();
            string postway     = Session["postname"].ToString().Trim();

            string receive_company      = txt_receive_addr_company.Text.Replace("'", "");
            string receive_name         = txt_receive_addr_contact.Text.Replace("'", "");
            string receive_address_line = txt_receive_addr_line1.Text.Replace("'", "") + txt_receive_addr_line2.Text.Replace("'", "") + txt_receive_addr_line3.Text.Replace("'", "");
            string receive_city         = txt_receive_addr_city.Text.Replace("'", "");
            string receive_postcode     = txt_receive_addr_postcode.Text.Replace("'", "");
            string receive_phone        = txt_receive_addr_phone.Text.Replace("'", "");

            string send_company     = txt_send_addr_company.Text.Replace("'", "");
            string send_name        = txt_send_addr_contact.Text.Replace("'", "");
            string send_addressline = txt_send_addr_line1.Text.Replace("'", "") + txt_send_addr_line2.Text.Replace("'", "") + txt_send_addr_line3.Text.Replace("'", "");
            string send_city        = txt_send_addr_city.Text.Replace("'", "");
            string send_postcode    = txt_send_addr_postcode.Text.Replace("'", "");
            string send_phone       = txt_send_addr_phone.Text.Replace("'", "");

            // 判断
            if (receive_addr.Checked == true && receive_addr_dropdown_list.SelectedValue == "-1")
            {
                Address address = new Address();

                address.User_name    = Session["name"].ToString();
                address.Addr_contact = receive_name;
                address.Company_name = receive_company;
                address.City         = receive_city;
                address.Addr_line1   = txt_receive_addr_line1.Text.Replace("'", "");
                address.Addr_line2   = txt_receive_addr_line2.Text.Replace("'", "");
                address.Addr_line3   = txt_receive_addr_line3.Text.Replace("'", "");
                address.Email        = txt_receive_addr_email.Text.Replace("'", "");
                address.Phone        = receive_phone.Replace("'", "");
                address.Post_code    = receive_postcode.Replace("'", "");
                address.Country      = txt_receive_addr_country.Text;
                address.Is_default   = "0";
                address.Time         = DateTime.Now;
                address.Addr_type    = "R";

                //向地址簿中添加地址
                new AddressDAO().addAddress(address);
            }

            if (send_addr.Checked == true && send_addr_dropdown_list.SelectedValue == "-1")
            {
                Address address = new Address();

                address.User_name    = Session["name"].ToString();
                address.Company_name = send_company.Replace("'", "");
                address.Addr_contact = send_name.Replace("'", "");
                address.City         = send_city.Replace("'", "");
                address.Addr_line1   = txt_send_addr_line1.Text.Replace("'", "");
                address.Addr_line2   = txt_send_addr_line2.Text.Replace("'", "");
                address.Addr_line3   = txt_send_addr_line3.Text.Replace("'", "");
                address.Email        = txt_send_addr_email.Text.Replace("'", "");
                address.Post_code    = send_postcode.Replace("'", "");
                address.Country      = txt_send_addr_country.Text.Replace("'", "");
                address.Phone        = send_phone.Replace("'", "");

                address.Addr_type  = "S";
                address.Time       = DateTime.Now;
                address.Is_default = "0";
                //添加发件地址
                new AddressDAO().addAddress(address);
            }

            if (postway.ToLower() != "ems" && postway.ToLower() != "postnl")
            {
                {
                    receive_company      = receive_company.Replace("。", "");
                    receive_name         = receive_name.Replace("。", "");
                    receive_address_line = receive_address_line.Replace("。", "");
                    receive_city         = receive_city.Replace("。", "");
                    receive_postcode     = receive_postcode.Replace("。", "");
                    receive_phone        = send_phone.Replace("。", "");

                    send_company     = send_company.Replace("。", "");
                    send_name        = send_name.Replace("。", "");
                    send_addressline = send_addressline.Replace("。", "");
                    send_city        = send_city.Replace("。", "");
                    send_postcode    = send_postcode.Replace("。", "");
                    send_phone       = send_phone.Replace("。", "");

                    receive_company      = receive_company.Replace("(", "");
                    receive_name         = receive_name.Replace("(", "");
                    receive_address_line = receive_address_line.Replace("(", "");
                    receive_city         = receive_city.Replace("(", "");
                    receive_postcode     = receive_postcode.Replace("(", "");
                    receive_phone        = send_phone.Replace("(", "");
                    receive_company      = receive_company.Replace(")", "");
                    receive_name         = receive_name.Replace(")", "");
                    receive_address_line = receive_address_line.Replace(")", "");
                    receive_city         = receive_city.Replace(")", "");
                    receive_postcode     = receive_postcode.Replace(")", "");
                    receive_phone        = send_phone.Replace(")", "");


                    send_company     = send_company.Replace("(", "");
                    send_name        = send_name.Replace("(", "");
                    send_addressline = send_addressline.Replace("(", "");
                    send_city        = send_city.Replace("(", "");
                    send_postcode    = send_postcode.Replace("(", "");
                    send_phone       = send_phone.Replace("(", "");
                    send_company     = send_company.Replace(")", "");
                    send_name        = send_name.Replace(")", "");
                    send_addressline = send_addressline.Replace(")", "");
                    send_city        = send_city.Replace(")", "");
                    send_postcode    = send_postcode.Replace(")", "");
                    send_phone       = send_phone.Replace(")", "");

                    receive_company      = receive_company.Replace("-", "");
                    receive_name         = receive_name.Replace("-", "");
                    receive_address_line = receive_address_line.Replace("-", "");
                    receive_city         = receive_city.Replace("-", "");
                    receive_postcode     = receive_postcode.Replace("-", "");

                    receive_phone = receive_phone.Replace("-", "");
                    receive_phone = receive_phone.Replace("-", "");
                    receive_phone = receive_phone.Replace("—", "");

                    send_company     = send_company.Replace("-", "");
                    send_name        = send_name.Replace("-", "");
                    send_addressline = send_addressline.Replace("-", "");
                    send_city        = send_city.Replace("-", "");
                    send_postcode    = send_postcode.Replace("-", "");

                    send_phone = send_phone.Replace("-", "");
                    send_phone = send_phone.Replace("-", "");
                    send_phone = send_phone.Replace("—", "");

                    receive_company      = receive_company.Replace("—", "");
                    receive_name         = receive_name.Replace("—", "");
                    receive_address_line = receive_address_line.Replace("—", "");
                    receive_city         = receive_city.Replace("—", "");
                    receive_postcode     = receive_postcode.Replace("—", "");


                    send_company     = send_company.Replace("—", "");
                    send_name        = send_name.Replace("—", "");
                    send_addressline = send_addressline.Replace("—", "");
                    send_city        = send_city.Replace("—", "");
                    send_postcode    = send_postcode.Replace("—", "");

                    description = description.Replace("—", "");



                    receive_company      = receive_company.Replace("'", "");
                    receive_name         = receive_name.Replace("'", "");
                    receive_address_line = receive_address_line.Replace("'", "");
                    receive_city         = receive_city.Replace("'", "");
                    receive_postcode     = receive_postcode.Replace("'", "");
                    receive_phone        = receive_phone.Replace("'", "");

                    send_company     = send_company.Replace("'", "");
                    send_name        = send_name.Replace("'", "");
                    send_addressline = send_addressline.Replace("'", "");
                    send_city        = send_city.Replace("'", "");
                    send_postcode    = send_postcode.Replace("'", "");
                    send_phone       = send_phone.Replace("'", "");
                    description      = description.Replace("'", "");
                }



                if ((PinYinHelpers.ToPinYin(send_company)).Length > 24)
                {
                    alert("发件公司英文名长度或中文转换为拼音后长度超过了24个字符,请更改!!");
                    return;
                }
                if ((PinYinHelpers.ToPinYin(send_name)).Length > 24)
                {
                    alert("发件人英文名长度或者中文名转化为拼音后超过了24字符,请更改!!");
                    return;
                }
                if ((PinYinHelpers.ToPinYin(send_phone)).Length > 15)
                {
                    alert("发件人电话长度超过了15字符,ParcelForce 不能处理,请缩短!!");
                    return;
                }
                if ((PinYinHelpers.ToPinYin(send_addressline)).Length > 67)
                {
                    alert("英文发件地址或者中文收件地址转化为拼音后长度超过了67字节,ParcelForce 不能处理,请缩短!!");
                    return;
                }
                if ((PinYinHelpers.ToPinYin(send_city)).Length > 24)
                {
                    alert("发件 City 英文长度或中文转换为拼音后长度超过了24字符,ParcelForce 不能处理,请缩短!!");
                    return;
                }
                if ((PinYinHelpers.ToPinYin(send_postcode)).Length > 16)
                {
                    alert("第个包裹的发件邮编长度超过了16字符,ParcelForce 不能处理,请缩短!!");
                    return;
                }


                if ((PinYinHelpers.ToPinYin(receive_company)).Length > 67)
                {
                    alert("抱歉,英文收件地址长度或者中文收件地址转化为拼音后长度超过66个字符,ParcelForce 不能处理,请缩短地址,请更改!!");
                    return;
                }
                if ((PinYinHelpers.ToPinYin(receive_name)).Length > 24)
                {
                    alert("发件人英文名长度或者中文名转化为拼音后超过了24字符,请更改!!");
                    return;
                }
                if ((PinYinHelpers.ToPinYin(receive_phone)).Length > 15)
                {
                    alert("收件人电话长度超过了15字符,ParcelForce 不能处理,请缩短!!");
                    return;
                }
                if ((PinYinHelpers.ToPinYin(receive_address_line)).Length > 67)
                {
                    alert("英文收件地址或者中文收件地址转化为拼音后长度超过了67字节,ParcelForce 不能处理,请缩短!!");
                    return;
                }
                if ((PinYinHelpers.ToPinYin(receive_city)).Length > 24)
                {
                    alert("收件人 City 长度超过了24个字符,ParcelForce 不能处理,请缩短!!");
                    return;
                }
                if (receive_postcode.Length != 6)
                {
                    alert("收件人 邮编 有误,请修改 !!");
                    return;
                }



                receive_company      = PinYinHelpers.ToPinYin(receive_company);
                receive_name         = PinYinHelpers.ToPinYin(receive_name);
                receive_address_line = PinYinHelpers.ToPinYin(receive_address_line);
                receive_city         = PinYinHelpers.ToPinYin(receive_city);
                receive_postcode     = PinYinHelpers.ToPinYin(receive_postcode);
                receive_phone        = PinYinHelpers.ToPinYin(receive_phone);

                send_company     = PinYinHelpers.ToPinYin(send_company);
                send_name        = PinYinHelpers.ToPinYin(send_name);
                send_addressline = PinYinHelpers.ToPinYin(send_addressline);
                send_city        = PinYinHelpers.ToPinYin(send_city);
                send_postcode    = PinYinHelpers.ToPinYin(send_postcode);
                send_phone       = PinYinHelpers.ToPinYin(send_phone);
            }


            ArrayList good_arrays = (ArrayList)Session["package_array"];

            for (int i = 0; i < good_arrays.Count; i++)
            {
                PackageMeasure good = (PackageMeasure)good_arrays[i];

                for (int k = 0; k < good.Count; k++)
                {
                    Package package = new Package();
                    package.Name          = Session["name"].ToString();
                    package.Description   = description_array[j];
                    package.Package_value = Convert.ToSingle(value_array[j]);
                    package.Weight        = good.Weight;
                    package.Height        = good.Height;
                    package.Length        = good.Length;
                    package.Width         = good.Width;
                    package.Pay           = new InterFaceQuote().getQuote(package.Name, destination, good.Weight, good.Length, good.Width, good.Height, postway);
                    package.Departure     = "UK";
                    package.Destination   = destination;

                    if (postway.ToLower() == "postnl")
                    {
                        if (package.Description.Contains("推车") || package.Description.Contains("trolly") || package.Description.Contains("坐椅"))
                        {
                            package.Volumetric = package.Length * package.Width * package.Height / 6000.0f;
                        }
                        else
                        {
                            package.Volumetric = package.Weight;
                        }

                        if (package.Weight >= package.Volumetric)
                        {
                            package.Chargeable = package.Weight;
                        }
                        else
                        {
                            package.Chargeable = package.Volumetric;
                        }
                    }
                    else
                    {
                        package.Volumetric = (float)((package.Length * package.Width * package.Height) / 5000.0);

                        if (package.Weight >= package.Volumetric)
                        {
                            package.Chargeable = package.Weight;
                        }
                        else
                        {
                            package.Chargeable = package.Volumetric;
                        }
                    }

                    package.Post_way = postway;
                    j++;
                    packages.Add(package);
                }
            }

            //处理订单
            Order order = new Order();


            Application.Lock();
            string interfaceOrderNo = Application["orderNo"].ToString();

            Application["orderNo"] = (int)Application["orderNo"] + 1;
            Application.UnLock();

            DateTime time         = DateTime.Now;
            string   order_number = "WM" + time.ToString("yyMMddHHmm") + interfaceOrderNo.PadLeft(8, '0');

            order.Order_number = order_number;
            order.Name         = Session["name"].ToString();

            order.CollectionContactName = send_name;
            order.CollectionCompanyName = send_company;
            order.CollectionPhone       = send_phone;
            order.CollectionAddressLine = send_addressline;
            order.CollectionTown        = send_city;
            order.CollectionPostCode    = send_postcode;
            order.CollectionCountry     = "UK";

            order.RecipientCompanyName = receive_company;
            order.RecipientContactName = receive_name;
            order.RecipientAddressLine = receive_address_line;
            order.RecipientCountry     = Session["to"].ToString();
            order.RecipientPhone       = receive_phone;
            order.RecipientPostCode    = receive_postcode;
            order.RecipientTown        = receive_city;

            if (Session["delivery_way"] == null)
            {
                order.Delivery_way = "Collection";
            }
            else
            {
                order.Delivery_way = Session["delivery_way"].ToString();
            }

            order.Delivery_date = delivery_time;

            order.Insurance = Convert.ToSingle(insurance);

            order.Post_way    = Session["postname"].ToString();
            order.Quantity    = packages.Count;
            order.Order_time  = time;
            order.Is_pay      = "unpay";
            order.Is_show     = "true";
            order.Wp_track_no = "";

            // 向数据库中添加包裹
            for (int i = 0; i < packages.Count; i++)
            {
                Package temp_package = (Package)packages[i];

                Application.Lock();
                string wm_track_no = Application["packageNo"].ToString();
                Application["packageNo"] = (int)Application["packageNo"] + 1;
                Application.UnLock();

                temp_package.Wp_track_no  = "WP" + DateTime.Now.ToString("yyMMddHHmm") + wm_track_no.PadLeft(8, '0');
                temp_package.Order_number = order.Order_number;
                temp_package.Name         = order.Name;
                temp_package.Is_pay       = "unpay";

                order.Weight             += temp_package.Weight;
                order.Pay_after_discount += temp_package.Pay;

                if (order.Wp_track_no != "")
                {
                    order.Wp_track_no = order.Wp_track_no + "," + temp_package.Wp_track_no;
                }
                else
                {
                    order.Wp_track_no = temp_package.Wp_track_no;
                }

                new PackageDAO().addPackage(temp_package);
            }

            order.Pay_before_discount = order.Pay_after_discount;
            order.Discount            = 0;

            new OrderDAO().addOrder(order);



            Response.Redirect("my-shopping-cart.aspx?flag=interface");
        }
Пример #6
0
        //填写完包裹详细信息后的下一步的实现
        protected void btn_next_step_Click(object sender, EventArgs e)
        {
            //发件地址、收件地址
            string sendAddr    = Request.Form["txt_send"];
            string receiveAddr = Request.Form["txt_receive"];

            //购买保险、及取件日期
            string insurance      = Request.Form["insurance_select"];
            string collectiondate = Request.Form["collection_date"];

            //包裹描述及包裹价值
            string description = Request.Form["content"];
            string value       = Request.Form["value"];

            // 发件地址字符串数组、收件地址字符串数组、是否购买保险数组、取件日期数组
            string[] sendAddr_array       = sendAddr.Split(',');
            string[] receiveAddr_array    = receiveAddr.Split(',');
            string[] insurance_array      = insurance.Split(',');
            string[] collectiondate_array = collectiondate.Split(',');

            //包裹描述数组、包裹价值数组
            string[] description_array = description.Split(',');
            string[] value_array       = value.Split(',');

            order_array   = new ArrayList();
            package_array = new ArrayList();

            int package_count = 0;

            packages_to_SameAddress = (ArrayList)Session["packageTOSameAddress"];

            for (int i = 0; i < packages_to_SameAddress.Count; i++)
            {
                PackagesToSameAddress package_to_same_address = (PackagesToSameAddress)packages_to_SameAddress[i];

                string departure   = package_to_same_address.Departure;
                string destination = package_to_same_address.Destination;
                string postway     = package_to_same_address.Postway;


                Order    order     = new Order();
                DateTime temp_time = DateTime.Now;

                Application.Lock();
                string interfaceOrderNo = Application["orderNo"].ToString();
                Application["orderNo"] = (int)Application["orderNo"] + 1;
                Application.UnLock();

                string order_number = "WM" + temp_time.ToString("yyMMddhhmm") + interfaceOrderNo.PadLeft(8, '0');

                order.Order_number = order_number;
                order.Name         = Session["name"].ToString();
                order.Order_time   = temp_time;
                order.Is_pay       = "unpay";
                order.Is_show      = "true";
                order.Post_way     = postway;

                //订单的发件地址
                string[] send_array = sendAddr_array[i].Split(';');
                order.CollectionContactName = send_array[0];
                order.CollectionCompanyName = send_array[1];
                order.CollectionAddressLine = send_array[2];
                order.CollectionTown        = send_array[3];
                order.CollectionPostCode    = send_array[4];
                order.CollectionCountry     = send_array[5];
                order.CollectionPhone       = send_array[6];

                //订单的收件地址
                string[] receive_array = receiveAddr_array[i].Split(';');
                order.RecipientContactName = receive_array[0];
                order.RecipientCompanyName = receive_array[1];
                order.RecipientAddressLine = receive_array[2];
                order.RecipientTown        = receive_array[3];
                order.RecipientPostCode    = receive_array[4];
                order.RecipientCountry     = receive_array[5];
                order.RecipientPhone       = receive_array[6];

                //订单的保险
                order.Insurance = Convert.ToSingle(insurance_array[i]);
                //订单的取件日期
                order.Delivery_date = collectiondate_array[i];

                if (Session["delivery_way"] != null)
                {
                    order.Delivery_way = Session["delivery_way"].ToString();
                }
                else
                {
                    order.Delivery_way = "Collection";
                }

                order.Weight             = 0;
                order.Pay_after_discount = 0;

                int    quantity    = 0;
                string wp_track_no = "";

                ArrayList package_measure_array = package_to_same_address.Package_Array;

                //处理订单中的包裹
                for (int j = 0; j < package_measure_array.Count; j++)
                {
                    PackageMeasure package_measure = (PackageMeasure)package_measure_array[j];

                    quantity += package_measure.Count;

                    for (int k = 0; k < package_measure.Count; k++)
                    {
                        Package package = new Package();

                        Application.Lock();
                        string interfacepackageno = Application["packageNo"].ToString();
                        Application["packageNo"] = (int)Application["packageNo"] + 1;
                        Application.UnLock();

                        package.Description   = description_array[package_count];
                        package.Package_value = Convert.ToSingle(value_array[package_count]);
                        package.Order_number  = order_number;
                        package.Wp_track_no   = "WP" + temp_time.ToString("yyMMddhhmm") + interfacepackageno.PadLeft(8, '0');
                        package.Weight        = package_measure.Weight;
                        package.Length        = package_measure.Length;
                        package.Width         = package_measure.Width;
                        package.Height        = package_measure.Height;



                        package.Name        = Session["name"].ToString();
                        package.Post_way    = postway;
                        package.Pay         = new InterFaceQuote().getQuote(package.Name, destination, package.Weight, package.Length, package.Width, package.Height, postway);
                        package.Departure   = departure;
                        package.Destination = destination;
                        package.Is_pay      = "unpay";

                        if (wp_track_no != "")
                        {
                            wp_track_no += "," + package.Wp_track_no;
                        }
                        else
                        {
                            wp_track_no += package.Wp_track_no;
                        }

                        //判断是不是PF,如果是PF则要进行中文转换
                        if (package.Post_way.ToUpper().Contains("PF"))
                        {
                            package.Description = Hz2Py.Convert(package.Description);

                            if (package.Package_value.ToString().Length > 8)
                            {
                                alert("第" + (i + 1) + "个订单的第" + (j + 1) + "个包裹的报过价值长度超过了 8 位,Parcelforce 不能处理,请更改!!");
                                return;
                            }
                        }

                        if (package.Post_way.ToUpper().Contains("POSTNL"))
                        {
                            if (package.Description.Contains("座椅") || package.Description.Contains("车座"))
                            {
                                package.Volumetric = (package.Length * package.Width * package.Height) / 6000.0f;
                            }

                            package.Chargeable = package.Weight > package.Volumetric ? package.Weight : package.Volumetric;
                        }
                        else
                        {
                            package.Volumetric = (package.Length * package.Width * package.Height) / 5000.0f;
                            package.Chargeable = package.Weight > package.Volumetric ? package.Weight : package.Volumetric;
                        }

                        //订单中包裹的总重
                        order.Weight             += package.Chargeable;
                        order.Pay_after_discount += package.Pay;

                        //包裹个数 ++
                        package_count++;

                        package_array.Add(package);
                    }
                }

                order.Quantity            = quantity;
                order.Pay_before_discount = order.Pay_after_discount;
                order.Discount            = 0;

                order.Wp_track_no = wp_track_no;


                if (order.Post_way.ToUpper().Contains("PF"))
                {
                    {
                        // 替换字符

                        // 替换手机号码中的 “—”、“-”
                        order.RecipientPhone  = order.RecipientPhone.Replace("-", "");
                        order.RecipientPhone  = order.RecipientPhone.Replace("-", "");
                        order.RecipientPhone  = order.RecipientPhone.Replace("—", "");
                        order.CollectionPhone = order.CollectionPhone.Replace("—", "");
                        order.CollectionPhone = order.CollectionPhone.Replace("-", "");
                        order.CollectionPhone = order.CollectionPhone.Replace("-", "");

                        order.CollectionCompanyName = order.CollectionCompanyName.Replace("。", "");
                        order.CollectionContactName = order.CollectionContactName.Replace("。", "");
                        order.CollectionAddressLine = order.CollectionAddressLine.Replace("。", "");
                        order.CollectionTown        = order.CollectionTown.Replace("。", "");
                        order.CollectionPostCode    = order.CollectionPostCode.Replace("。", "");
                        order.CollectionCountry     = order.CollectionCountry.Replace("。", "");

                        order.RecipientContactName = order.RecipientContactName.Replace("。", "");
                        order.RecipientCompanyName = order.RecipientCompanyName.Replace("。", "");
                        order.RecipientAddressLine = order.RecipientAddressLine.Replace("。", "");
                        order.RecipientTown        = order.RecipientTown.Replace("。", "");
                        order.RecipientPostCode    = order.RecipientPostCode.Replace("。", "");
                        order.RecipientCountry     = order.RecipientCountry.Replace("。", "");

                        order.CollectionCompanyName = order.CollectionCompanyName.Replace("—", "");
                        order.CollectionContactName = order.CollectionContactName.Replace("—", "");
                        order.CollectionAddressLine = order.CollectionAddressLine.Replace("—", "");
                        order.CollectionTown        = order.CollectionTown.Replace("—", "");
                        order.CollectionPostCode    = order.CollectionPostCode.Replace("—", "");
                        order.CollectionCountry     = order.CollectionCountry.Replace("—", "");

                        order.RecipientContactName = order.RecipientContactName.Replace("—", "");
                        order.RecipientCompanyName = order.RecipientCompanyName.Replace("—", "");
                        order.RecipientAddressLine = order.RecipientAddressLine.Replace("—", "");
                        order.RecipientTown        = order.RecipientTown.Replace("—", "");
                        order.RecipientPostCode    = order.RecipientPostCode.Replace("—", "");
                        order.RecipientCountry     = order.RecipientCountry.Replace("—", "");

                        order.CollectionCompanyName = order.CollectionCompanyName.Replace("-", "");
                        order.CollectionContactName = order.CollectionContactName.Replace("-", "");
                        order.CollectionAddressLine = order.CollectionAddressLine.Replace("-", "");
                        order.CollectionTown        = order.CollectionTown.Replace("-", "");
                        order.CollectionPostCode    = order.CollectionPostCode.Replace("-", "");
                        order.CollectionCountry     = order.CollectionCountry.Replace("-", "");

                        order.RecipientContactName = order.RecipientContactName.Replace("-", "");
                        order.RecipientCompanyName = order.RecipientCompanyName.Replace("-", "");
                        order.RecipientAddressLine = order.RecipientAddressLine.Replace("-", "");
                        order.RecipientTown        = order.RecipientTown.Replace("-", "");
                        order.RecipientPostCode    = order.RecipientPostCode.Replace("-", "");
                        order.RecipientCountry     = order.RecipientCountry.Replace("-", "");


                        order.CollectionCompanyName = order.CollectionCompanyName.Replace("(", "");
                        order.CollectionContactName = order.CollectionContactName.Replace("(", "");
                        order.CollectionAddressLine = order.CollectionAddressLine.Replace("(", "");
                        order.CollectionTown        = order.CollectionTown.Replace("(", "");
                        order.CollectionPostCode    = order.CollectionPostCode.Replace("(", "");
                        order.CollectionCountry     = order.CollectionCountry.Replace("(", "");
                        order.CollectionPhone       = order.CollectionPhone.Replace("(", "");

                        order.RecipientContactName = order.RecipientContactName.Replace("(", "");
                        order.RecipientCompanyName = order.RecipientCompanyName.Replace("(", "");
                        order.RecipientAddressLine = order.RecipientAddressLine.Replace("(", "");
                        order.RecipientTown        = order.RecipientTown.Replace("(", "");
                        order.RecipientPostCode    = order.RecipientPostCode.Replace("(", "");
                        order.RecipientCountry     = order.RecipientCountry.Replace("(", "");
                        order.RecipientPhone       = order.RecipientPhone.Replace("(", "");

                        order.CollectionCompanyName = order.CollectionCompanyName.Replace(")", "");
                        order.CollectionContactName = order.CollectionContactName.Replace(")", "");
                        order.CollectionAddressLine = order.CollectionAddressLine.Replace(")", "");
                        order.CollectionTown        = order.CollectionTown.Replace(")", "");
                        order.CollectionPostCode    = order.CollectionPostCode.Replace(")", "");
                        order.CollectionCountry     = order.CollectionCountry.Replace(")", "");
                        order.CollectionPhone       = order.CollectionPhone.Replace(")", "");

                        order.RecipientContactName = order.RecipientContactName.Replace(")", "");
                        order.RecipientCompanyName = order.RecipientCompanyName.Replace(")", "");
                        order.RecipientAddressLine = order.RecipientAddressLine.Replace(")", "");
                        order.RecipientTown        = order.RecipientTown.Replace(")", "");
                        order.RecipientPostCode    = order.RecipientPostCode.Replace(")", "");
                        order.RecipientCountry     = order.RecipientCountry.Replace(")", "");
                        order.RecipientPhone       = order.RecipientPhone.Replace(")", "");
                    }

                    order.CollectionContactName = Hz2Py.Convert(order.RecipientCompanyName);
                    order.CollectionCompanyName = Hz2Py.Convert(order.CollectionCompanyName);
                    order.CollectionAddressLine = Hz2Py.Convert(order.CollectionAddressLine);
                    order.CollectionCountry     = Hz2Py.Convert(order.CollectionCountry);
                    order.CollectionTown        = Hz2Py.Convert(order.CollectionTown);
                    order.CollectionPostCode    = Hz2Py.Convert(order.CollectionPostCode);

                    order.RecipientContactName = Hz2Py.Convert(order.RecipientContactName);
                    order.RecipientCompanyName = Hz2Py.Convert(order.RecipientCompanyName);
                    order.RecipientCountry     = Hz2Py.Convert(order.RecipientCountry);
                    order.RecipientTown        = Hz2Py.Convert(order.RecipientTown);
                    order.RecipientPhone       = Hz2Py.Convert(order.RecipientPhone);
                    order.RecipientPostCode    = Hz2Py.Convert(order.RecipientPostCode);
                    order.RecipientAddressLine = Hz2Py.Convert(order.RecipientAddressLine);


                    if (order.RecipientCompanyName.Length > 24)
                    {
                        alert("第" + (i + 1) + "个订单的收件公司长度超过了24字节,请更改!!");
                        return;
                    }
                    if (order.RecipientContactName.Length > 24)
                    {
                        alert("第" + (i + 1) + "个订单的收件人英文名长度或者中文名转化为拼音后超过了24字符,请更改!!");
                        return;
                    }
                    if (order.RecipientPhone.Length > 15)
                    {
                        alert("第" + (i + 1) + "个订单的收件人电话长度超过了15字符,ParcelForce 不能处理,请缩短!!");
                        return;
                    }
                    if (order.RecipientAddressLine.Length > 67)
                    {
                        alert("抱歉,您的第 " + i + " 个订单由于英文收件地址或者中文收件地址转化为拼音后超过66个字符,ParcelForce 不能处理,请缩短地址,请更改!!");
                        return;
                    }
                    if (order.RecipientTown.Length > 24)
                    {
                        alert("第" + (i + 1) + "个订单的收件人 City 长度超过了24个字符,ParcelForce 不能处理,请缩短!!");
                        return;
                    }

                    if (order.CollectionCompanyName.Length > 24)
                    {
                        alert("第" + (i + 1) + "个订单的发件人公司英文长度或中文转换为拼音后长度超过了24字节,ParcelForce 不能处理,请缩短!!");
                        return;
                    }
                    if (order.CollectionContactName.Length > 24)
                    {
                        alert("第" + (i + 1) + "个订单的发件人名长度超过了24字节,ParcelForce 不能处理,请缩短!!");
                        return;
                    }
                    if (order.CollectionPhone.Length > 15)
                    {
                        alert("第" + (i + 1) + "个包裹的发件人手机号码长度超过了15个字符,ParcelForce 不能处理,请缩短!!");
                        return;
                    }
                    if (order.CollectionAddressLine.Length > 67)
                    {
                        alert("第" + (i + 1) + "个订单的英文发件地址或者中文收件地址转化为拼音后长度超过了67字节,ParcelForce 不能处理,请缩短!!");
                        return;
                    }
                    if (order.CollectionTown.Length > 24)
                    {
                        alert("第" + (i + 1) + "个订单的发件 City 英文长度或中文转换为拼音后长度超过了24字符,ParcelForce 不能处理,请缩短!!");
                        return;
                    }
                    if (order.CollectionPostCode.Length > 16)
                    {
                        alert("第" + (i + 1) + "个订单的发件邮编长度超过了16字符,ParcelForce 不能处理,请缩短!!");
                        return;
                    }
                }

                order_array.Add(order);
            }

            //向数据库中添加包谷信息
            for (int i = 0; i < package_array.Count; i++)
            {
                Package package = (Package)package_array[i];
                new PackageDAO().addPackage(package);
            }


            //向数据库中添加订单信息
            for (int i = 0; i < order_array.Count; i++)
            {
                Order order = (Order)order_array[i];
                new OrderDAO().addOrder(order);
            }


            Response.Redirect("../my-shopping-cart.aspx?flag=interface");
        }
Пример #7
0
        //询价按钮
        protected void btn_price_query_Click(object sender, EventArgs e)
        {
            packageTOSameAddress = new ArrayList();

            string departure = Request.Form["departure"];
            string destination = Request.Form["destination"];
            string postway = Request.Form["postway"];

            string count = Request.Form["count"];
            string weight = Request.Form["weight"];
            string length = Request.Form["length"];
            string width = Request.Form["width"];
            string height = Request.Form["height"];
            string hidden = Request.Form["hidden"];



            string[] departure_array = departure.Split(',');
            string[] destination_array = destination.Split(',');
            string[] postway_array = postway.Split(',');

            string[] count_array = count.Split(',');
            string[] weight_array = weight.Split(',');
            string[] length_array = length.Split(',');
            string[] width_array = width.Split(',');
            string[] height_array = height.Split(',');
            
            string[] hidden_array = hidden.Split(',');

            int k = 0;

            for (int i = 0; i < departure_array.Length; i++)
            {
                PackagesToSameAddress packages = new PackagesToSameAddress();
                packages.Departure = departure_array[i];
                packages.Destination = destination_array[i];

                packages.Postway = postway_array[i];

                ArrayList package_array = new ArrayList();
                PackageMeasure packageMeasure;

                for (int j = 0; j < Convert.ToInt32(hidden_array[i]); j++)
                {
                    packageMeasure = new PackageMeasure();
                    packageMeasure.Count = Convert.ToInt32(count_array[k]);
                    packageMeasure.Weight = Convert.ToSingle(weight_array[k]);
                    packageMeasure.Length = Convert.ToSingle(length_array[k]);
                    packageMeasure.Width = Convert.ToSingle(width_array[k]);
                    packageMeasure.Height = Convert.ToSingle(height_array[k]);
                    k++;
                    package_array.Add(packageMeasure);
                }
                packages.Package_Array = package_array;

                packageTOSameAddress.Add(packages);
            }

            Session["packageTOSameAddress"] = packageTOSameAddress;
            
            Response.Redirect("batch-order.aspx?step=2");
        }