/// <summary> /// Lấy ds chi tiết đơn đặt hàng theo mã ddh /// </summary> /// <param name="maddh">mã đơn đặt hàng</param> /// <returns></returns> public static List<ChiTietDonDatHang> LayDSChiTietDDHTheoMaDDH(int maddh) { List<ChiTietDonDatHang> lstChiTietDDH = new List<ChiTietDonDatHang>(); try { List<SqlParameter> lstParams = new List<SqlParameter>(); lstParams.Add(new SqlParameter("@maddh", maddh)); DataTable dt = new DataTable(); dt = SqlDataAccessHelper.ExecuteQuery("spLayDSChiTietDDHTheoMaDDH", lstParams); foreach (DataRow dtRow in dt.Rows) { ChiTietDonDatHang chiTietDDH = new ChiTietDonDatHang(); chiTietDDH.MaDDH = int.Parse(dtRow["MaDDH"].ToString()); chiTietDDH.MaTangPham = int.Parse(dtRow["MaTangPham"].ToString()); chiTietDDH.TenTangPham = BUS.TangPham.LayTangPhamTheoMa(chiTietDDH.MaTangPham).TenTangPham; chiTietDDH.SoLuong = int.Parse(dtRow["SoLuong"].ToString()); lstChiTietDDH.Add(chiTietDDH); } } catch (Exception e) { lstChiTietDDH = new List<ChiTietDonDatHang>(); throw e; } return lstChiTietDDH; }
/// <summary> /// Thêm chi tiết đơn đặt hàng /// </summary> /// <param name="intDiemThuong"></param> /// <returns></returns> public static int ThemChiTietDonDatHang(ChiTietDonDatHang ctDDH,int intDiemThuong) { int res = 0; try { // add tham số List<SqlParameter> lstParam = new List<SqlParameter>(); lstParam.Add(new SqlParameter("@maddh", ctDDH.MaDDH)); lstParam.Add(new SqlParameter("@matangpham", ctDDH.MaTangPham)); lstParam.Add(new SqlParameter("@soluong", ctDDH.SoLuong)); lstParam.Add(new SqlParameter("@diemthuong", intDiemThuong)); res = SqlDataAccessHelper.ExecuteNoneQuery("spThemChiTietDonDatHang", lstParam); } catch (Exception e) { res = 0; throw e; } return res; }
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."; } }