/// <summary> /// Thêm đơn đặt hàng /// ngọc hà :28/5/2011 /// </summary> /// <param name="ddh">đơn đặt hàng</param> /// <returns></returns> public static int ThemDonDatHang(DonDatHang ddh) { int res = 0; try { int MaDonDatHang = 0; List<SqlParameter> lstParams = new List<SqlParameter>(); lstParams.Add(new SqlParameter("@ngaydat", ddh.ngayDat)); lstParams.Add(new SqlParameter("@soluongdat", ddh.soLuongDat)); lstParams.Add(new SqlParameter("@trangthai",ddh.trangThai)); lstParams.Add(new SqlParameter("@makhachhang", ddh.maKhachHang)); lstParams.Add(new SqlParameter("@masanpham", ddh.maSanPham)); lstParams.Add(new SqlParameter("@madaily", ddh.maDaiLy)); lstParams.Add(new SqlParameter("@thanhtien", ddh.thanhTien)); lstParams.Add(new SqlParameter("@ngaynhanhang", ddh.ngayNhanHang)); SqlParameter param = new SqlParameter("@maddh", MaDonDatHang); param.Direction = ParameterDirection.Output; lstParams.Add(param); if (SqlDataAccessHelper.ExecuteNoneQuery("spThemDonDatHang", lstParams) > 0) { ddh.MaDDH = int.Parse(param.Value.ToString()); res = 1; } } catch (Exception e) { res = 0; throw e; } return res; }
/// <summary> /// Lấy đơn đặt hàng theo mã ddh /// Ngọc Hà :28/5/2011 /// Thu Ha /// 1/6/2011 /// </summary> /// <param name="maddh">mã đơn đặt hàng</param> /// <returns></returns> public static DonDatHang LayDonDatHangTheoMaDDH(int maddh) { DonDatHang donDatHang = new DonDatHang(); try { List<SqlParameter> lstParams = new List<SqlParameter>(); lstParams.Add(new SqlParameter("@maddh", maddh)); DataTable dtDonDatHang = new DataTable(); dtDonDatHang = SqlDataAccessHelper.ExecuteQuery("spLayDonDatHangTheoMaDDH", lstParams); if (dtDonDatHang.Rows.Count>0) { DataRow dtRow = dtDonDatHang.Rows[0]; donDatHang.MaDDH = int.Parse(dtRow["MaDDH"].ToString()); donDatHang.NgayDat = DateTime.Parse(dtRow["NgayDat"].ToString()); donDatHang.SoLuongDat = int.Parse(dtRow["SoLuongDat"].ToString()); donDatHang.TrangThai = int.Parse(dtRow["TrangThai"].ToString()); // thu ha donDatHang.TenTrangThai = BUS.TrangThai.LayTrangThaiTheoMa(donDatHang.TrangThai).TenTrangThai; donDatHang.MaKhachHang = int.Parse(dtRow["MaKhachHang"].ToString()); donDatHang.MaSanPham = int.Parse(dtRow["MaSanPham"].ToString()); donDatHang.TenSanPham = BUS.SanPham.LaySanPhamTheoMa(donDatHang.MaSanPham).TenSanPham; donDatHang.MaDaiLy = int.Parse(dtRow["MaDaiLy"].ToString()); donDatHang.TenDaiLy = BUS.DaiLy.LayThongTinDaiLyTheoMa(donDatHang.MaDaiLy).TenDaiLy; donDatHang.NhanHangTuNgay = BUS.SanPham.LaySanPhamTheoMa(donDatHang.MaSanPham).ThoiGianBD_NhanHang; donDatHang.NhanHangDenNgay = BUS.SanPham.LaySanPhamTheoMa(donDatHang.MaSanPham).ThoiGianKT_NhanHang; try { donDatHang.NgayNhanHang = DateTime.Parse(dtRow["NgayNhanHang"].ToString()); } catch { donDatHang.NgayNhanHang = DateTime.Parse("1/1/1900"); } donDatHang.ThanhTien = float.Parse(dtRow["ThanhTien"].ToString()); } } catch (Exception e) { donDatHang = new DonDatHang(); throw e; } return donDatHang; }
/// <summary> /// Lấy đơn đặt hàng theo mã ddh /// Ngọc Hà :28/5/2011 /// </summary> /// <param name="ngayBatDau"></param> /// <param name="ngayKetThuc"></param> /// <returns></returns> public static List<DonDatHang> LayDSDonDatHangTheoNgayDat(DateTime ngayBatDau, DateTime ngayKetThuc) { List<DonDatHang> lstDonDatHang = new List<DonDatHang>(); try { List<SqlParameter> lstParams = new List<SqlParameter>(); lstParams.Add(new SqlParameter("@ngaybatdau", ngayBatDau)); lstParams.Add(new SqlParameter("@ngayketthuc", ngayKetThuc)); DataTable dtDonDatHang = new DataTable(); dtDonDatHang = SqlDataAccessHelper.ExecuteQuery("spLayDSDonDatHangTheoNgayDat", lstParams); foreach (DataRow dtRow in dtDonDatHang.Rows) { DonDatHang donDatHang = new DonDatHang(); donDatHang.MaDDH = int.Parse(dtRow["MaDDH"].ToString()); donDatHang.NgayDat = DateTime.Parse(dtRow["NgayDat"].ToString()); donDatHang.SoLuongDat = int.Parse(dtRow["SoLuongDat"].ToString()); donDatHang.TrangThai = int.Parse(dtRow["TrangThai"].ToString()); donDatHang.TenTrangThai = BUS.TrangThai.LayTrangThaiTheoMa(donDatHang.TrangThai).TenTrangThai; donDatHang.MaKhachHang = int.Parse(dtRow["MaKhachHang"].ToString()); donDatHang.MaSanPham = int.Parse(dtRow["MaSanPham"].ToString()); donDatHang.TenSanPham = BUS.SanPham.LaySanPhamTheoMa(donDatHang.MaSanPham).TenSanPham; donDatHang.MaDaiLy = int.Parse(dtRow["MaDaiLy"].ToString()); donDatHang.TenDaiLy = BUS.DaiLy.LayThongTinDaiLyTheoMa(donDatHang.MaDaiLy).TenDaiLy; donDatHang.NhanHangTuNgay = BUS.SanPham.LaySanPhamTheoMa(donDatHang.MaSanPham).ThoiGianBD_NhanHang; donDatHang.NhanHangDenNgay = BUS.SanPham.LaySanPhamTheoMa(donDatHang.MaSanPham).ThoiGianKT_NhanHang; try { donDatHang.NgayNhanHang = DateTime.Parse(dtRow["NgayNhanHang"].ToString()); } catch { donDatHang.NgayNhanHang = DateTime.Parse("1/1/1900"); } donDatHang.ThanhTien = float.Parse(dtRow["ThanhTien"].ToString()); lstDonDatHang.Add(donDatHang); } } catch (Exception e) { throw e; } return lstDonDatHang; }
protected void imgButtonThanhToan_Click(object sender, ImageClickEventArgs e) { // kiểm tra tặng phẩm lblLoiChonTP.Text = ""; List<ChiTietDonDatHang> lstChiTietDDH = new List<ChiTietDonDatHang>(); int tongDiemThuongYC = 0; int tongDiemThuong = int.Parse(lblTongDiemThuong.Text); for (int i = 0; i < dlDanhSachTangPham.Items.Count; i++) { TextBox txtSoLuongTP = dlDanhSachTangPham.Items[i].FindControl("txtSoLuongTP") as TextBox; int soluongTP = 0; if (!int.TryParse(txtSoLuongTP.Text, out soluongTP)) { lblLoiChonTP.Text = "Số lượng tặng phẩm phải là số."; txtSoLuongMuaSP.Focus(); return; } if (soluongTP == 0) { continue; } HiddenField hidField = dlDanhSachTangPham.Items[i].FindControl("hidMaTangPham") as HiddenField; TangPham tangPham = new TangPham(); tangPham = TangPham.LayTangPhamTheoMa(int.Parse(hidField.Value)); // kiểm tra số lượng tối đa if (soluongTP > tangPham.SoLuongToiDa) { lblLoiChonTP.Text = "Số lượng tặng phẩm " + tangPham.TenTangPham + " phải nhỏ hơn hoặc bằng số lượng tối đa."; txtSoLuongTP.Focus(); return; } // kiểm tra số lượng còn lại if (soluongTP > tangPham.SoLuongConLai) { lblLoiChonTP.Text = "Số lượng tặng phẩm " + tangPham.TenTangPham + " phải nhỏ hơn hoặc bằng số lượng tồn."; txtSoLuongTP.Focus(); return; } ChiTietDonDatHang ctDDH = new ChiTietDonDatHang(); ctDDH.MaTangPham = tangPham.MaTangPham; ctDDH.SoLuong = soluongTP; tongDiemThuongYC += tangPham.DiemThuongYC * ctDDH.SoLuong; // kiểm tra tổng điểm yêu cầu so với điểm thưởng người mua có if (tongDiemThuongYC > tongDiemThuong) { lblLoiChonTP.Text = "Số điểm thưởng không đủ để chọn."; txtSoLuongTP.Focus(); return; } lstChiTietDDH.Add(ctDDH); } // insert đơn đặt hàng DonDatHang donDatHang = new DonDatHang(); donDatHang.NgayDat = DateTime.Now; donDatHang.SoLuongDat = int.Parse(txtSoLuongMuaSP.Text); donDatHang.TrangThai = 1; donDatHang.MaKhachHang = (Int32)Session["Id"]; donDatHang.MaSanPham = g_SanPham.MaSanPham; donDatHang.MaDaiLy = int.Parse(dropListDaiLy.SelectedItem.Value); donDatHang.ThanhTien = donDatHang.SoLuongDat * g_SanPham.DonGia; donDatHang.NgayNhanHang = g_SanPham.ThoiGianBD_NhanHang; if (DonDatHang.ThemDonDatHang(donDatHang) > 0) { panelDatHang.Visible = false; string mess = String.Empty; // insert chi tiết tặng phẩm foreach (ChiTietDonDatHang ctddh in lstChiTietDDH) { ctddh.MaDDH = donDatHang.MaDDH; if (ChiTietDonDatHang.ThemChiTietDonDatHang(ctddh, tongDiemThuong) == 0) { mess += TangPham.LayTangPhamTheoMa(ctddh.MaTangPham).TenTangPham + " - "; continue; } } //kiểm tra xem thêm chi tiết tặng phẩm có bị lỗi hay hông if (mess.Length > 0) { pnlKetQuaDatHang.Visible = true; lblKetQuaDatHang.Text = "Không thể chọn các tặng phẩm " + mess + " , bạn có thể cập nhật tặng phẩm."; } else { pnlKetQuaDatHang.Visible = true; lblKetQuaDatHang.Text = "Đơn hàng của bạn đã thêm thành công. <br> Ngày nhận sản phẩm của bạn là từ ngày " + String.Format("{0:D}",g_SanPham.ThoiGianBD_NhanHang) + " đến ngày " + String.Format("{0:D}", g_SanPham.ThoiGianKT_NhanHang); } } else { pnlKetQuaDatHang.Visible = true; lblKetQuaDatHang.Text = "Đơn đặt hàng của bạn bị lỗi, bạn hãy thử lại."; } }