Exemple #1
0
        public static List<DON_HANG_DTO> GetAllOrderKH(string username)
        {
            provider.connect();
            string sqlCommand = "sp_SelectOrderKH";
            List<SqlParameter> list = new List<SqlParameter>();
            list.Add(new SqlParameter("@username", username));
            try
            {
                List<DON_HANG_DTO>orders=new List<DON_HANG_DTO>();
                DataTable table = provider.executeQueryDataTableProcedure(sqlCommand, list);
                if (table != null && table.Rows.Count > 0)
                {
                    foreach(DataRow row in table.Rows)
                    {
                        DON_HANG_DTO dh=new DON_HANG_DTO();
                        dh.MaDonHang=int.Parse(row["MADH"].ToString());
                        dh.NgayDat=DateTime.Parse( row["NGAYDAT"].ToString());
                        dh.TongTien=float.Parse(row["TONGTIEN"].ToString());
                        dh.TinhTrangDonHang=row["TINHTRANGDH"].ToString();
                        dh.DiaChiNhan=row["DIACHINHAN"].ToString();
                        dh.DonViTienTe=row["DVTIENTE"].ToString();
                        dh.LinkVC=row["URL"].ToString();
                        dh.MaPackage=int.Parse(row["MAPK"].ToString());
                        orders.Add(dh);
                    }

                }
                return orders;
            }
            catch (Exception e)
            {
                throw e;
            }
            finally
            {
                provider.disconnect();
            }
        }
        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;
                        }
                    }

                }
            }
        }
Exemple #3
0
 public static int InsertOrder(DON_HANG_DTO dh)
 {
     provider.connect();
     string sqlCommand = "sp_InsertOrder";
     List<SqlParameter>list=new List<SqlParameter>();
     list.Add(new SqlParameter("@username",dh.UserName));
     list.Add(new SqlParameter("@tongtien",dh.TongTien));
     list.Add(new SqlParameter("@diachi",dh.DiaChiNhan));
     list.Add(new SqlParameter("@ngaygiao",dh.NgayGiao));
     list.Add(new SqlParameter("@dvtiente",dh.DonViTienTe));
     SqlParameter madh=new SqlParameter("@madh",SqlDbType.Int);
     madh.Direction=ParameterDirection.Output;
     list.Add(madh);
     try
     {
         provider.executeNonQueryProcedure(sqlCommand, list);
         return (int)madh.Value;
     }
     catch (Exception e)
     {
         throw e;
     }
     finally
     {
         provider.disconnect();
     }
 }