protected void btThanhToan_Click(object sender, EventArgs e) { QlSachDbDataContext db = new QlSachDbDataContext(); //admin hoặc chưa đăng nhập thì ko được đặt mua if ((string)Session["dn"] == "" ) { Response.Redirect("ThongTinKhachHang.aspx"); } else { var q = db.KhachHangs.Where(p => p.TenDangNhap == (string)Session["dn"]); var dn = db.DangNhaps.Single(p => p.TenDangNhap == (string)Session["dn"]); // Tài khoản chưa đang đăng nhập chưa có mã khách hàng, nghĩa là được tạo bởi admin, không phải tự đăng kí if (q.Count() == 0||dn.Quyen) { Response.Write("<script>alert(\"Tài khoản này không được phép giao dịch!\");window.location='default.aspx'</script>"); return; } long makh = q.First().Makh; long mahd = 0; if (!db.hoadons.Any()) mahd = 0; else mahd = db.hoadons.Max(p => p.MaHoaDon); hoadon hd = new hoadon(); hd.MaHoaDon = mahd + 1; hd.makh = makh; hd.damua = false; hd.NgayMua = DateTime.Now; db.hoadons.InsertOnSubmit(hd); db.SubmitChanges(); var dt = new DataTable(); var gh = new Gio(); gh = (Gio)Session["gh"]; dt = gh.dt; for (int i = 0; i < dt.Rows.Count; i++) { var cthd = new ChiTietHoaDon(); long macthd; if (!db.ChiTietHoaDons.Any()) macthd = 0; else macthd = db.ChiTietHoaDons.Max(p => p.MaChiTietHD); cthd.MaChiTietHD = macthd + 1; cthd.MaHoaDon = mahd + 1; cthd.MaSach = dt.Rows[i]["masach"].ToString(); cthd.SoLuongMua = int.Parse(dt.Rows[i]["soluong"].ToString()); //Trừ số lượng sách mua sach s = db.saches.Single(p => p.masach == cthd.MaSach); s.soluong -= cthd.SoLuongMua; db.ChiTietHoaDons.InsertOnSubmit(cthd); db.SubmitChanges(); //Type cstype = this.GetType(); //// Get a ClientScriptManager reference from the Page class. //ClientScriptManager cs = Page.ClientScript; //// Check to see if the startup script is already registered. //if (!cs.IsStartupScriptRegistered(cstype, "PopupScript")) //{ // String cstext = "alert('Thành toán thành công!');"; // cs.RegisterStartupScript(cstype, "PopupScript", cstext, true); //} } Response.Write("<script>alert(\"Đặt mua thành công!\")</script>"); } Session["gh"] = null; Response.Write("<script>window.location='default.aspx'</script>"); }
private void detach_hoadons(hoadon entity) { this.SendPropertyChanging(); entity.KhachHang = null; }
private void attach_hoadons(hoadon entity) { this.SendPropertyChanging(); entity.KhachHang = this; }
partial void Deletehoadon(hoadon instance);
partial void Updatehoadon(hoadon instance);
partial void Inserthoadon(hoadon instance);