Пример #1
0
        public static bool ThemHHVaoHD(CTHoaDon hhtt)
        {
            string sql = string.Format("insert into CTHoaDon(SoHD,MaHang,TenHang,DVT,SoLuong,DonGia,ThanhTien) values ({0}, '{1}', '{2}', '{3}', {4}, {5}, {6})", hhtt.SoHD, hhtt.MaHang, hhtt.TenHang, hhtt.DVT, hhtt.SoLuong, hhtt.DonGia, hhtt.ThanhTien);
            bool   kq  = DBConnection.ExecuteNonQuery(sql);

            return(kq);
        }
Пример #2
0
        private bool saveCtHoaDon(int idhoadon)
        {
            ///delete ct hoa don cu
            bool kq = cthdBUS.deleteCtHoaDon(idhoadon);

            if (kq == true)
            {
                var temp = listHHSelect.GroupBy(x => new { x.ID })
                           .Select(g => new { ID = g.Key.ID, SoLuong = g.Sum(x => x.SoLuong.toLong()), ThanhTien = g.Sum(x => x.ThanhTien.toLong()) }).ToList();
                for (int i = 0; i < temp.Count; i++)
                {
                    CTHoaDon ct = new CTHoaDon()
                    {
                        HoaDonBanId = idhoadon,
                        HangHoaId   = temp[i].ID.toInt(),
                        ThanhTien   = temp[i].ThanhTien.toDouble(),
                        SoLuongBan  = temp[i].SoLuong.toInt(),
                    };
                    cthdBUS.insertCTHD(ct);
                    if (cthdBUS.ErrorCTHDBUS != null)
                    {
                        MessageBox.Show("Lỗi khi thêm chi tiết hóa đơn", "Error");
                        return(false);
                    }
                }
                return(true);
            }
            return(false);
        }
Пример #3
0
        //public bool XoaCTHD(CTHoaDon ct)
        //{
        //    string[] param = { "@MaHD"};
        //    object [] values={ct.MaHD};
        //    string query = "Delete from tblCTHoaDon where MaHD=@MaHD";
        //    return db.ExecuteNonQueryPara(query, param, values);
        //}

        public bool XoaMon(CTHoaDon ct)
        {
            string[] param = { "@MaHD","@MaMon" };
            object[] values = { ct.MaHD,ct.MaMon };
            string query = "Delete from tblCTHoaDon where MaHD=@MaHD and MaMon=@MaMon";
            return db.ExecuteNonQueryPara(query, param, values);
        }
Пример #4
0
        /// <summary>
        /// Hàm xử lý sự kiện khi click vào 1 ô trên dtgvHD.
        /// Thực hiện load chi tiết hóa đơn đó.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void dtgvHoaDon_CellClick(object sender, DataGridViewCellEventArgs e)
        {
            lstCTHD = new List <CTHoaDon>();
            int RowIndex = e.RowIndex;                                                 // khi click vao 1 o no lay ds o do

            int SoHD = int.Parse(dtgvHoaDon.Rows[RowIndex].Cells[0].Value.ToString()); // lay gia tri cua o do

            string query = "EXEC SP_LOAD_CTHD @SoHD";

            object[] thamso = new object[] { SoHD.ToString() }; //là giá trị tương đương vs biến @ trên

            DataTable data = DataProvider.ExecuteQuery(query, thamso);

            foreach (DataRow item in data.Rows)
            {
                CTHoaDon tmp = new CTHoaDon();

                tmp.SoHD      = Int32.Parse(item[1].ToString());
                tmp.MaSP      = Int32.Parse(item[2].ToString());
                tmp.GiaBan    = double.Parse(item[3].ToString());
                tmp.SoLuong   = Int32.Parse(item[4].ToString());
                tmp.ThanhTien = double.Parse(item[5].ToString());

                lstCTHD.Add(tmp);
            }
            dtgvCTHD.DataSource = lstCTHD;
        }
        public ActionResult DatHang(FormCollection collection)
        {
            //Them Don hang
            HoaDon         ddh = new HoaDon();
            Account        kh  = (Account)Session["Taikhoan"];
            List <Giohang> gh  = Laygiohang();

            ddh.makh    = kh.makh;
            ddh.ngaydat = DateTime.Now;
            var ngaysuat = String.Format("{0:MM/dd/yyyy}", collection["Ngaygiao"]);

            ddh.ngaysuat          = DateTime.Parse(ngaysuat);
            ddh.tinhtranggiaohang = false;
            ddh.dathanhtoan       = false;
            //data.HoaDons.InsertOnSubmit(ddh);
            //data.SubmitChanges();
            //Them chi tiet don hang

            foreach (var item in gh)
            {
                CTHoaDon ctdh = new CTHoaDon();
                ctdh.ma       = ddh.ma;
                ctdh.maHoaDon = item.iMahang;
                ctdh.soluong  = item.iSoluong;
                //ctdh.gia = (decimal)item.dDongia;
                //data.CTHoaDons.InsertOnSubmit(ctdh);
            }
            data.SaveChanges();
            Session["Giohang"] = null;
            return(RedirectToAction("Xacnhandonhang", "Giohang"));
        }
Пример #6
0
 public bool SuaCTHD(CTHoaDon ct)
 {
     string[] param = { "@MaHD","@MaMon","@SoLuong"};
     object[] values = {ct.MaHD, ct.MaMon,ct.SoLuong };
     string query = "Update tblCTHoaDon set SoLuong=@SoLuong where MaMon=@MaMon and MaHD=@MaHD";
     return db.ExecuteNonQueryPara(query, param, values);
 }
Пример #7
0
 public bool ThemCTHD(CTHoaDon ct)
 {
     string[] param = { "@MaHD","@MaMon", "@TenMon", "@SoLuong", "@DonGia", "@ThanhTien" };
     object[] values={ct.MaHD,ct.MaMon,ct.TenMon,ct.SoLuong,ct.DonGia,ct.ThanhTien};
     string query = "Insert into tblCTHoaDon(MaHD,MaMon,TenMon,SoLuong,DonGia,ThanhTien) values(@MaHD,@MaMon,@TenMon,@SoLuong,@DonGia,@ThanhTien)";
     return db.ExecuteNonQueryPara(query, param, values);
 }
Пример #8
0
 public int TaoCTHD(int idHD)
 {
     try
     {
         var db   = new TraSuaDbContext();
         var cart = Session["CartItem"] as List <CartModel>;
         foreach (var item in cart)
         {
             var cthd = new CTHoaDon
             {
                 MaHD    = idHD,
                 MaSP    = item.SP.MaSP,
                 SoLuong = item.Quantity,
                 MaSize  = item.size.MaSize
             };
             db.CTHoaDons.Add(cthd);
             db.SaveChanges();
         }
         return(1);
     }
     catch
     {
         return(0);
     }
 }
Пример #9
0
        public List <CTHoaDon> GetCTHoaDons(string idhd)
        {
            List <CTHoaDon> CTHoaDonList = new List <CTHoaDon>();
            DataTable       data         = DataProvider.Instance.ExecuteQuery("select * from CTHoaDon where IDHoaDon= '" + idhd + "'");

            foreach (DataRow item in data.Rows)
            {
                CTHoaDon cTHoaDon = new CTHoaDon(item);
                CTHoaDonList.Add(cTHoaDon);
            }
            return(CTHoaDonList);
        }
Пример #10
0
 public void insertCTHD(CTHoaDon ct)
 {
     ErrorCTHDBUS = null;
     try
     {
         cthdDAO.CTHoaDons.Add(ct);
         cthdDAO.SaveChanges();
     }
     catch (System.Exception ex)
     {
         ErrorCTHDBUS = ex;
     }
 }
 public bool ThemCTHD(CTHoaDon o)
 {
     try
     {
         dc.CTHoaDons.InsertOnSubmit(o);
         dc.SubmitChanges();
         return(true);
     }
     catch
     {
         return(false);
     }
 }
Пример #12
0
        private XRControl createrLabel2(int stt, CTHoaDon cTHoaDon, float x, float y)
        {
            XRLabel lbl = new XRLabel();

            lbl.Font = new Font("Times New Roman", 12, FontStyle.Bold);
            string temp = string.Format("{0,-20}{1,-55}{2,-15}{3,-10}{4,-20}{5,-20}", stt, cTHoaDon.HangHoa.Name, cTHoaDon.HangHoa.DVT, cTHoaDon.SoLuongBan, cTHoaDon.HangHoa.DonGiaBan, cTHoaDon.ThanhTien);

            lbl.Text          = temp;
            lbl.AutoWidth     = true;
            lbl.CanGrow       = false;
            lbl.WordWrap      = false;
            lbl.LocationF     = new PointF(x, y);
            lbl.PreviewClick += xrLabel_PreviewClick;
            return(lbl);
        }
Пример #13
0
        public List <CTHoaDon> ListCTHoaDon(string maphong, int thang)
        {
            List <CTHoaDon> list  = new List <CTHoaDon>();
            string          query = string.Format("ChiTietHoaDonOfPhong '{0}','{1}'", maphong, thang);
            DataTable       table = new DataTable();

            table = SQL.ThuVienSQL.Instance.Execute_Query(query);

            foreach (DataRow i in table.Rows)
            {
                CTHoaDon tktb = new CTHoaDon(i);
                list.Add(tktb);
            }
            return(list);
        }
Пример #14
0
        public ActionResult Create2(ChiTietHD model)
        {
            if (ModelState.IsValid)
            {
                model.id          = Environment.TickCount;
                model.BangSanPham = db.BangSanPhams.Find(model.SP_id);
                var CTHoaDon = Session["CTHoaDon"] as List <ChiTietHD>;
                if (CTHoaDon == null)
                {
                    CTHoaDon = new List <ChiTietHD>();
                }
                CTHoaDon.Add(model);
                Session["CTHoaDon"] = CTHoaDon;
                return(RedirectToAction("Create", "BangHoaDon"));
            }

            ViewBag.SP_id = new SelectList(db.BangSanPhams, "id", "TenSP", model.SP_id);
            return(View("Create", model));
        }
        public ActionResult Edit2(CashBillDetail cashBillDetail)
        {
            if (ModelState.IsValid)
            {
                cashBillDetail.ID      = Environment.TickCount;
                cashBillDetail.Product = db.Products.Find(cashBillDetail.ProductID);
                var CTHoaDon = Session["CashBillDetail"] as List <CashBillDetail>;
                if (CTHoaDon == null)
                {
                    CTHoaDon = new List <CashBillDetail>();
                }
                CTHoaDon.Add(cashBillDetail);
                Session["CashBillDetail"] = CTHoaDon;
                return(Redirect(ControllerContext.HttpContext.Request.UrlReferrer.ToString()));
            }

            ViewBag.ProductID = new SelectList(db.Products, "ID", "ProductName", cashBillDetail.ProductID);
            return(View("Create", cashBillDetail));
        }
        public ActionResult Create2(CashBillDetail cashBillDetail)
        {
            if (ModelState.IsValid)
            {
                cashBillDetail.ID      = Environment.TickCount;
                cashBillDetail.Product = db.Products.Find(cashBillDetail.ProductID);
                var CTHoaDon = Session["CashBillDetail"] as List <CashBillDetail>;
                if (CTHoaDon == null)
                {
                    CTHoaDon = new List <CashBillDetail>();
                }
                CTHoaDon.Add(cashBillDetail);
                Session["CashBillDetail"] = CTHoaDon;
                return(RedirectToAction("Create", "CashBills"));
            }

            ViewBag.ProductID = new SelectList(db.Products, "ID", "ProductName", cashBillDetail.ProductID);
            return(View("Create", cashBillDetail));
        }
        public bool addCTHoaDon(CTHoaDon cthd)
        {
            String        sql  = "insert into cthoadon(id_hoadon,id_thucdon,soluong) values (@id_hoadon, @id_thucdon,@soluong)";
            SqlConnection conn = DBConnection.Instance.getConnection();

            try
            {
                cmd = new SqlCommand(sql, conn);
                conn.Open();
                cmd.Parameters.Add("@id_hoadon", SqlDbType.Int).Value  = cthd.Id_hoadon;
                cmd.Parameters.Add("@id_thucdon", SqlDbType.Int).Value = cthd.Id_thucdon;
                cmd.Parameters.Add("@soluong", SqlDbType.Int).Value    = cthd.Soluong;
                cmd.ExecuteNonQuery();
                conn.Close();
            }catch (Exception e)
            {
                return(false);
            }
            return(true);
        }
Пример #18
0
        private void button2_Click(object sender, EventArgs e)
        {
            int      rowindex    = dgvHoaDon.CurrentCell.RowIndex;
            int      columnindex = dgvHoaDon.CurrentCell.ColumnIndex;
            string   result      = dgvHoaDon.Rows[rowindex].Cells[0].Value.ToString();
            CTHoaDon httt        = new CTHoaDon();
            HoaDon   hd          = new HoaDon();

            try
            {
                httt.SoHD      = int.Parse(dgvHoaDon.Rows[rowindex].Cells[0].Value.ToString());
                httt.MaHang    = comboBox2.SelectedValue.ToString();
                httt.TenHang   = tbTHH.Text;
                httt.DVT       = tbDVT.Text;
                httt.SoLuong   = int.Parse(tbSoLuong.Text);
                httt.DonGia    = float.Parse(DonGia.Text);
                httt.ThanhTien = float.Parse(ThanhTien.Text);
                bool kq1 = HangHoaTTBLL.ThemHHVaoHD(httt);
                if (kq1 == true)
                {
                    MessageBox.Show("Thêm Đơn thành công!", "Thông báo!!!", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    TinhTong();
                    hd.TongTien = float.Parse(tbTCTTT.Text);
                    HoaDonBLL.UpdateHD(hd);
                    int       x       = dgvHoaDon.CurrentCell.RowIndex;
                    string    y       = dgvHoaDon.Rows[rowindex].Cells[0].Value.ToString();
                    DataTable _dshhtt = HangHoaTTBLL.LayDSHHTT(y);
                    dgvHHTT.DataSource = _dshhtt;
                }
                else
                {
                    MessageBox.Show("Hóa Đơn này đã có!", "Thông báo!!!", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
            catch
            {
                MessageBox.Show("Hàng hóa đã đã có!", "Thông báo!!!", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
Пример #19
0
        void TaoDonDatHang(HoaDon ddh, KhachHang kh1)
        {
            int demDDH = db.HoaDons.Count();

            ddh.MaHD    = autoIDHD(demDDH);
            ddh.MaKH    = kh1.MaKH;
            ddh.NgayDat = DateTime.Now;
            db.HoaDons.Add(ddh);
            db.SaveChanges();

            List <ItemGioHang> lstGioHang = LayGioHang();

            foreach (var item in lstGioHang)
            {
                CTHoaDon ctdh = new CTHoaDon();
                ctdh.MaHD    = ddh.MaHD;
                ctdh.MaSP    = item.MaSP;
                ctdh.SoLuong = item.SoLuong;
                SanPham sp = db.SanPhams.Single(x => x.MaSP == item.MaSP);
                sp.SoLuong -= item.SoLuong;
                db.CTHoaDons.Add(ctdh);
                db.SaveChanges();
            }
        }
Пример #20
0
 public bool SuaCTHD(CTHoaDon ct)
 {
     return(cthoadon.SuaCTHD(ct));
 }
        //public int SoDongInDSBan(int id)
        //{
        //    for (var i = 0; i < DSBan.Count; i++)
        //    {
        //        if (DSBan[i].IDBan == id)
        //        {
        //            return i;
        //        }
        //    }
        //    return -1;
        //}
        #endregion
        //Gop ban
        public bool GopBan(int idBanGop, int idBanBiGop)
        {
            var timhdbanbigop = this.TimHoaDonTheoIDBan(idBanBiGop);

            var timhd = this.TimHoaDonTheoIDBan(idBanGop);

            var hd = new HoaDon()
            {
                IDBan         = idBanGop,
                IDNhanVienLap = timhdbanbigop.IDNhanVienLap
            };

            //ban cau co hoa don
            if (timhd == null)
            {
                ThemHoaDon(hd);
            }
            foreach (var item in DSCTHD)
            {
                if (item.IDHoaDon == timhdbanbigop.IDHoaDon)
                {
                    //Neu ban gop chua co hoa don
                    if (timhd == null)
                    {
                        var o = new CTHoaDon()
                        {
                            IDHoaDon = hd.IDHoaDon,
                            IDDoUong = item.IDDoUong,
                            GiaBan   = item.GiaBan,
                            GiaGoc   = item.GiaGoc,
                            SoLuong  = item.SoLuong,
                        };
                        ThemCTHD(o);
                    }
                    //Neu ban gop da co hoa don: lay sp tu ban bi gop + vao ban gop
                    else
                    {
                        var kq = TimCTHDTheoDoUong(timhd.IDHoaDon, item.IDDoUong);
                        //1 San pham gop chua co trong ban gop
                        if (kq == null)
                        {
                            var o = new CTHoaDon()
                            {
                                IDHoaDon = timhd.IDHoaDon,
                                IDDoUong = item.IDDoUong,
                                GiaBan   = item.GiaBan,
                                GiaGoc   = item.GiaGoc,
                                SoLuong  = item.SoLuong,
                            };
                            ThemCTHD(o);
                        }
                        //San pham da co trong ban gop:them item.SoLuong vao hoa don co ma la timhd.IDHoaDon
                        if (kq != null)
                        {
                            SuaCTHD(timhd.IDHoaDon, item.IDDoUong, item.SoLuong);
                        }
                    }

                    this.XoaCTHD(item.IDHoaDon, item.IDDoUong);
                }
            }
            //sau khi gop ban
            //+1. Cap nhat trang thai ban
            //+2. Xoa hao don
            var ban = new Ban()
            {
                IDBan     = idBanBiGop,
                TenBan    = TimBan(idBanBiGop).TenBan,
                TrangThai = "Trống"
            };

            CapNhatBan(ban);
            dc.SubmitChanges();
            return(true);
        }
Пример #22
0
        public static bool ThemHHVaoHD(CTHoaDon hhtt)
        {
            bool kq = CTHoaDonDAL.ThemHHVaoHD(hhtt);

            return(kq);
        }
        private void bntXacNhanGoiMon_Click(object sender, EventArgs e)
        {
            if (txtSoLuongTDConLai.Text == "")
            {
                MessageBox.Show("Chọn thực đơn!", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }

            else if (Convert.ToInt32(txtSoLuongTDConLai.Text) < 1)
            {
                MessageBox.Show("Thực đơn chọn tạm hết! Vui lòng chọn thực đơn khác!", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
            else
            {
                if (nbrSoLuong.Value < 1 || nbrSoLuong.Value > Convert.ToInt32(txtSoLuongTDConLai.Text))
                {
                    MessageBox.Show("Chưa chọn số lượng thực đơn!", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
                else
                {
                    if (lbbbb.Visible == true)
                    {
                        HoaDon hd = new HoaDon();
                        hd.Id_ban       = Convert.ToInt32(cbbMaBanChon.SelectedValue);
                        hd.Id_khachhang = -1;
                        hd.Ngayhd       = DateTime.Now;
                        hd.Sotie        = Convert.ToInt32(ChuyenDoi.Instance.ChuyenDoiThanhSo(txtSoTienChon.Text));
                        hd.Trangthai    = 1;
                        if (XuLyHoaDonController.Instance.AddHoaDon(hd))
                        {
                            CTHoaDon cthd = new CTHoaDon();
                            cthd.Id_hoadon  = Convert.ToInt32(txtIDHoaDonChon.Text);
                            cthd.Id_thucdon = Convert.ToInt32(cbbMaTDChon.SelectedValue);
                            cthd.Soluong    = (int)nbrSoLuong.Value;
                            int soluongconlai = int.Parse(txtSoLuongTDConLai.Text) - (int)nbrSoLuong.Value;
                            if (XuLyCTHoaDonController.Instance.addCTHoaDon(cthd) && XuLyThucDonController.Instance.UpdateSoLuongThucDon(cthd.Id_thucdon, soluongconlai))
                            {
                                MessageBox.Show("Gọi món thành công!", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                                this.showCTHoaDon(hd.Id_ban);
                                pn_goimon.Enabled = false;
                                loadDSThucDon();
                                loadConlai();

                                if (XuLyBanController.Instance.updateTrangThaiBan(hd.Id_ban, 1))
                                {
                                    loadBan();
                                }
                                loadCBBBan();
                            }

                            else
                            {
                                MessageBox.Show("Gọi món thất bại", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                            }
                        }
                        else
                        {
                            MessageBox.Show("Gọi món thất bại", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                        }
                    }
                    else
                    {
                        HoaDon hd = new HoaDon();
                        hd.Id    = Convert.ToInt32(txtIDHoaDonChon.Text);
                        hd.Sotie = Convert.ToInt32(ChuyenDoi.Instance.ChuyenDoiThanhSo(txtSoTienChon.Text));


                        CTHoaDon cthd = new CTHoaDon();
                        cthd.Id_hoadon  = Convert.ToInt32(txtIDHoaDonChon.Text);
                        cthd.Id_thucdon = Convert.ToInt32(cbbMaTDChon.SelectedValue);
                        cthd.Soluong    = (int)nbrSoLuong.Value;
                        int soluongconlai = int.Parse(txtSoLuongTDConLai.Text) - (int)nbrSoLuong.Value;
                        if (XuLyCTHoaDonController.Instance.addCTHoaDon(cthd) && XuLyThucDonController.Instance.UpdateSoLuongThucDon(cthd.Id_thucdon, soluongconlai) && XuLyHoaDonController.Instance.updatSoTienHoaDon(hd))
                        {
                            MessageBox.Show("Gọi món thành công!", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                            this.showCTHoaDon(Convert.ToInt32(cbbMaBanChon.SelectedValue));
                            pn_goimon.Enabled = false;
                            loadDSThucDon();
                            loadConlai();
                            if (XuLyBanController.Instance.updateTrangThaiBan(Convert.ToInt32(cbbMaBanChon.SelectedValue), 1))
                            {
                                loadBan();
                            }
                            loadCBBBan();
                        }

                        else
                        {
                            MessageBox.Show("Gọi món thất bại", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                        }
                    }
                }
            }
        }
 public bool addCTHoaDon(CTHoaDon cthd)
 {
     return(CTHoaDonController.Instance.addCTHoaDon(cthd));
 }
Пример #25
0
 public bool XoaMon(CTHoaDon ct)
 {
     return(cthoadon.XoaMon(ct));
 }
Пример #26
0
        public ActionResult DatHang(FormCollection f)
        {
            var tenKH       = f["deliveryname"];
            var SDT         = f["deliveryphone"];
            var email       = f["deliveryemail"];
            var diaChi      = f["deliveryaddress"];
            var ghiChu      = f["deliveryNote"];
            var HTTT        = "Thanh toán sau khi nhận hàng";
            var TrangThaiVC = "Đang vận chuyển";
            var ThanhToan   = false;
            var TongTien    = f["sumOrder"];
            var sum         = 0;

            if (Session["TaiKhoan"] == null)
            {
                List <ChiTietDHSession> ListSP = LayDonHang();

                sum = Convert.ToInt32(TongTien);
                HoaDon hd = new HoaDon();
                hd.MaND        = "VangLai";
                hd.TenKH       = tenKH;
                hd.SDT         = SDT;
                hd.Email       = email;
                hd.DiaChi      = diaChi;
                hd.HTTT        = HTTT;
                hd.TrangThaiVC = TrangThaiVC;
                hd.ThanhToan   = ThanhToan;
                hd.Ghichu      = ghiChu;
                hd.Ngay        = DateTime.Today;
                hd.TongTien    = sum;
                db.HoaDon.Add(hd);
                db.SaveChanges();
                //cap nhat chi tiet hoa don

                foreach (var item in ListSP)
                {
                    CTHoaDon ct = new CTHoaDon();
                    ct.MaHD    = hd.MaHD;
                    ct.MaSach  = item.maSach;
                    ct.SoLuong = item.soLuong;
                    ct.DonGia  = item.giaBan;
                    db.CTHoaDon.Add(ct);
                    db.SaveChanges();
                }
                // xoa san pham trong gio hang
                List <ItemCart> lstGH     = LayGioHang();
                var             SPGHCheck = lstGH.Where(m => m.Chon == true).ToList();
                foreach (var item in SPGHCheck)
                {
                    lstGH.Remove(item);
                    db.SaveChanges();
                }
            }
            else
            {
                NguoiDung ND     = (NguoiDung)Session["TaiKhoan"];
                var       ListSP = db.ChiTietDH.Where(m => m.MaND == ND.TenDN).ToList();
                foreach (var item in ListSP)
                {
                    sum = sum + Convert.ToInt32(item.GiaBan * item.SoLuong);
                }
                HoaDon hd = new HoaDon();
                hd.MaND        = ND.TenDN;
                hd.TenKH       = tenKH;
                hd.SDT         = SDT;
                hd.Email       = email;
                hd.DiaChi      = diaChi;
                hd.HTTT        = HTTT;
                hd.TrangThaiVC = TrangThaiVC;
                hd.ThanhToan   = ThanhToan;
                hd.Ghichu      = ghiChu;
                hd.Ngay        = DateTime.Today;
                hd.TongTien    = sum;
                db.HoaDon.Add(hd);
                db.SaveChanges();
                //cap nhat chi tiet hoa don

                foreach (var item in ListSP)
                {
                    CTHoaDon ct = new CTHoaDon();
                    ct.MaHD    = hd.MaHD;
                    ct.MaSach  = item.MaSach;
                    ct.SoLuong = item.SoLuong;
                    ct.DonGia  = item.GiaBan;
                    db.CTHoaDon.Add(ct);
                    db.SaveChanges();
                }
                // xoa san pham trong gio hang
                var SPGHCheck = db.GioHang.Where(m => m.MaND == ND.TenDN).Where(m => m.Chon == true).ToList();
                foreach (var item in SPGHCheck)
                {
                    db.GioHang.Remove(item);
                    db.SaveChanges();
                }
            }
            return(View());
        }
Пример #27
0
 public bool ThemCTHD(CTHoaDon ct)
 {
     return(cthoadon.ThemCTHD(ct));
 }