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; } } } } }
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(); } }