Пример #1
0
        protected void btnPayment_Click(object sender, EventArgs e)
        {
            string ma=rdvc.SelectedValue;
            string[]arr=ma.Split(new char[]{','});
            int madv = 0;
            int.TryParse(arr[0], out madv);
            int type=0;
            int.TryParse(arr[1],out type);
            string bank = rdbank.SelectedValue;
            string[] bankarr=bank.Split(new char[]{'+'});
            string bankid = bankarr[0];
            string stk = bankarr[1];
            /* tao don hang , va xoa gio hang */
            if (Session["Cart"] != null)
            {
                List<GioHang> carts = (List<GioHang>)Session["Cart"];
                if (carts.Count > 0)
                {

                    DON_HANG_DTO dh = new DON_HANG_DTO();
                    dh.DiaChiNhan = txtAddress.Text;
                    dh.DonViTienTe = carts[0].TienTe;
                    dh.NgayGiao = DateTime.Now;
                    dh.UserName = Session["User"].ToString();
                    dh.TongTien=0;
                     foreach (GioHang cart in carts)
                    {
                        dh.TongTien+=(cart.DonGia*cart.SoLuong);
                    }
                    int madh=0;
                    madh=DonHangBUS.InsetOrder(dh);
                    dh.ChiTiet = new List<CHI_TIET_DON_HANG_DTO>();
                    foreach (GioHang cart in carts)
                    {
                        CHI_TIET_DON_HANG_DTO ct = new CHI_TIET_DON_HANG_DTO();
                        ct.donGia = cart.DonGia;
                        ct.donViTinh = cart.DonViTinh;
                        ct.maDonHang = madh;
                        ct.maSanPham = cart.MaSanPham;
                        ct.soLuong = cart.SoLuong;
                        try
                        {
                            DonHangBUS.InsertCTOrder(ct);
                        }
                        catch (Exception ex)
                        {
                            continue;
                        }
                    }
                    /* thanh toan */
                    SERVICE_BANK_DTO svbank = ServiceBankBUS.LayServiceBankTheoMaBank(bankid);
                    NganHang.KhachHangWS proxy1 = new BIZ.NganHang.KhachHangWS();
                    string sid = proxy1.Authenticate(svbank.UserName, svbank.PassWord);
                    int result= proxy1.TransferMoney(sid, txtId.Text, bankid, svbank.Stk, svbank.MaBank, dh.TongTien, "VND");
                    if (result == 1)
                    {
                        /* dang ky van chuyen */
                        SERVICE_TRANS_DTO svtran = ServiceTransBUS.GetServiceTransInfor(madv);
                        VanChuyen.FedexWebService1 proxy2 = new BIZ.VanChuyen.FedexWebService1();
                        sid = proxy2.Authenticate(svtran.UserName, svtran.PassWord);
                        string url = proxy2.TransportGoods(sid, madh.ToString(), carts.Count, DateTime.Now.AddDays(1), txtAddress.Text, type, svtran.BizAddress);
                        if (url.IndexOf(".aspx?") >= 0 || url.IndexOf("http://") >= 0 || url.IndexOf("https://") >= 0)
                        {
                            PACKAGEINFO_DTO pac=new PACKAGEINFO_DTO();
                            pac.URL=url;
                            pac.MaServiceTrans=svtran.MaDV;
                            pac.PackageInfo=madh.ToString();
                            try
                            {
                                DonHangBUS.InsertPackage(pac, madh);
                                foreach (GioHang cart in carts)
                                {
                                    //CHI_TIET_DON_HANG_DTO ct = new CHI_TIET_DON_HANG_DTO();

                                    try
                                    {
                                        ProductBUS.UpdateSLProduct(cart.MaSanPham,cart.SoLuong);
                                    }
                                    catch (Exception ex)
                                    {
                                        continue;
                                    }
                                }
                                Session["Cart"] = null;
                                lbresult.ForeColor = Color.Green;
                                lbresult.Text = "Quá trình mua đã thành công";
                            }
                            catch (Exception ex)
                            {
                                throw ex;
                            }

                        }
                        else
                        {
                            lbresult.ForeColor = Color.Red;
                            lbresult.Text = "Đã thanh toán nhưng đặt vận chuyển thất bại";
                        }
                    }
                    else
                    {
                        switch (result)
                        {
                            case 2:
                                lbresult.ForeColor = Color.Red;
                                lbresult.Text = "Tài khoản chuyển không đủ tiền";
                                break;
                            case 3:
                                lbresult.ForeColor = Color.Red;
                                lbresult.Text = "Tài khoản chuyển không tồn tại";
                                break;
                            case 4:
                                lbresult.ForeColor = Color.Red;
                                lbresult.Text = "Tài khoản nhận không tồn tại";
                                break;
                            case 5:
                                lbresult.ForeColor = Color.Red;
                                lbresult.Text = "Mã ngân hàng chuyển tiền/Mã ngân hàng nhận tiền không tồn tại ";
                                break;
                            case 6:
                                lbresult.ForeColor = Color.Red;
                                lbresult.Text = "Lỗi khác";
                                break;
                        }
                    }

                }
            }
        }
Пример #2
0
 public static int InsertPackage(PACKAGEINFO_DTO pac,int madh)
 {
     provider.connect();
     string sqlCommand="sp_InsertPackage";
     List<SqlParameter>list=new List<SqlParameter>();
     list.Add(new SqlParameter("@madv",pac.MaServiceTrans));
     list.Add(new SqlParameter("@pacinfo",pac.PackageInfo));
     list.Add(new SqlParameter("@url",pac.URL));
     list.Add(new SqlParameter("@madh",madh));
     SqlParameter mapk=new SqlParameter("@mapk",SqlDbType.Int);
     mapk.Direction=ParameterDirection.Output;
     list.Add(mapk);
     try
     {
         provider.executeNonQueryProcedure(sqlCommand, list);
         return (int)mapk.Value;
     }
     catch (Exception e)
     {
         throw e;
     }
     finally
     {
         provider.disconnect();
     }
 }