Beispiel #1
0
 public static DataTable GetInfoKhachHangQuaMaHoaDon(BanAn banAn)
 {
     SqlParameter[] para = new SqlParameter[] {
         new SqlParameter("@" + config.HOA_DON_MA_HOA_DON, banAn.MaHoaDon),
     };
     return(DataProvider.GetDataByParameter(config.PROC_HOA_DON_GET_INFO_KHACH_HANG, para));
 }
        /// <summary>
        /// thực hiện thêm hóa đơn mới
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void ptbAddNew_Click(object sender, EventArgs e)
        {
            if (dtgvBills.Tag == null)
            {
                fMessageBoxOK.Show("Vui lòng chọn bàn ăn!");
                return;
            }
            BanAn table = (BanAn)dtgvBills.Tag;

            if (table.TRANGTHAI == -1)
            {
                fMessageBoxOK.Show("Bàn không hoạt động!");
                return;
            }
            string mahd = fThemHoaDonDatTruoc.Show(ac.MANV, table.MABA);

            if (string.IsNullOrEmpty(mahd))
            {
                return;
            }
            clear();
            loadListBillByMaba(table.MABA);
            foreach (KhachHangHoaDonDTO item in cbTenKhachHang.Items)
            {
                if (item.MAHD == mahd)
                {
                    cbTenKhachHang.SelectedItem = item;
                }
            }
            LoadTable();
        }
Beispiel #3
0
 public static int SetBanAnTrong(BanAn banAn)
 {
     SqlParameter[] para = new SqlParameter[] {
         new SqlParameter("@" + config.BANAN_MABAN, banAn.MaBan),
     };
     return(DataProvider.ExecuteNonQuery(config.PROC_SET_BAN_AN_TRONG, para));
 }
        public BanAn FindBanAn(int IdHoaDon)
        {
            HoaDon hd = QLNHContext.HoaDons.Where(s => s.Id == IdHoaDon).FirstOrDefault();
            BanAn  ba = QLNHContext.BanAns.Where(s => s.Id == hd.IdBanAn).FirstOrDefault();

            return(ba);
        }
Beispiel #5
0
 public static DataTable GetListChiTietHoaDon(BanAn banAn)
 {
     SqlParameter[] para = new SqlParameter[] {
         new SqlParameter("@" + config.BANAN_MAHOADON, banAn.MaHoaDon),
     };
     return(DataProvider.GetDataByParameter(config.PROC_GET_LIST_CHITIET_HOADON, para));
 }
Beispiel #6
0
        public void CapNhatAllPhieuDatBan()
        {
            DateTime day = DateTime.Now;

            IEnumerable <PhieuDatBan> phieuDatBans = QLNHContext.PhieuDatBans.Where(s => s.TrangThai == "Chưa xử lý");

            foreach (PhieuDatBan p in phieuDatBans)
            {
                if (p.TrangThai == "Chưa xử lý")
                {
                    int compare = DateTime.Compare(day, p.ThoiGianDat + new TimeSpan(0, 1, 30, 0));
                    //nếu quá 1h30 so với thời gian đặt thì sẽ bị hủy
                    if (compare > 0)
                    {
                        p.TrangThai = "Bị hủy";
                        BanAn b = QLNHContext.BanAns.Where(s => s.Id == p.IdBanAn).FirstOrDefault();
                        b.TrangThai = "Trống";

                        QLNHContext.Entry(b).State = Microsoft.EntityFrameworkCore.EntityState.Modified;
                        QLNHContext.Entry(p).State = Microsoft.EntityFrameworkCore.EntityState.Modified;

                        QLNHContext.SaveChanges();
                    }
                }
            }
        }
        /// <summary>
        /// thực hiện thao tác in hóa đơn
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void ptbPrint_Click(object sender, EventArgs e)
        {
            //CrystalReport1 cr = new CrystalReport1();
            //cr.SetDataSource(DataProvider.Instance.ExecuteQuery("SELECT *FROM dbo.BANAN"));
            //fReport f = new fReport(cr);
            //f.ShowDialog();
            if (dtgvBills.Tag == null)
            {
                fMessageBoxOK.Show("Vui lòng chọn bàn ăn!"); return;
            }
            BanAn table = (BanAn)dtgvBills.Tag;

            totalMonney = 0;
            foreach (ThongTinHoaDonDTO item in cthdDAO.Instance.getListItemNonCheckByMABA(table.MABA))
            {
                totalMonney += item.SoLuongMA * item.GIA;
            }
            preMoney = 0;
            foreach (string item in HoaDonDAO.Instance.GETHOADONNonCheckByMABA(table.MABA))
            {
                preMoney += cthdDAO.Instance.getTienDaThanhToanByHoaDon(item);
            }
            if (dtgvBills.Rows.Count <= 0)
            {
                return;
            }
            string    mahd = (string)dtgvBills.Rows[0].Cells["MAHD"].Value;
            DataTable data = cthdDAO.Instance.getListPrintBillsbyMAHD(mahd);
            fReport   f    = new fReport(data, totalMonney - preMoney);

            f.ShowDialog();
        }
        public void Edit(SaveBanAnDTO saveBanAnDTO)
        {
            BanAn banAn = _mapper.Map <SaveBanAnDTO, BanAn>(saveBanAnDTO);

            _unitOfWork.BanAns.Update(banAn);
            _unitOfWork.Complete();
        }
Beispiel #9
0
        public BanAnDTO FindBanAn(int IdHoaDon)
        {
            BanAn    ba       = _unitOfWork.HoaDons.FindBanAn(IdHoaDon);
            BanAnDTO banAnDTO = _mapper.Map <BanAn, BanAnDTO>(ba);

            return(banAnDTO);
        }
Beispiel #10
0
    protected void btnSaveChanges_Click(object sender, EventArgs e)
    {
        if (Request.QueryString["Action"] == "Edit")
        {
            int     maChuyenMuc = Convert.ToInt32(txtMaChuyenMuc.Text);
            BanAn   obj         = new BanAn(maChuyenMuc, txtTenChuyenMuc.Text, txtTrangthai.Text);
            XuLyBan xl          = new XuLyBan();
            int     result      = xl.SuaChuyenMuc(obj);
            if (result <= 0)
            {
                lblError.ForeColor = Color.Red;
                lblError.Text      = "Sửa dữ liệu không thành công. Vui lòng kiểm tra lại dữ liệu";
            }
            else
            {
                lblError.ForeColor = Color.Blue;
                lblError.Text      = "Sửa dữ liệu thành công";
            }

            LoadChuyenMuc();
        }
        else
        {
            btnSave_Click(sender, e);
        }
    }
        private void btnUsingTable_Click(object sender, EventArgs e)
        {
            BanAn banAn = new BanAn();

            banAn.Show();
            banAn.Focus();
        }
        public void LoadChiTietHoaDon(BanAn banAn)
        {
            DataTable dataTable = Bus.GetListChiTietHoaDon(banAn);

            this.dataTable = dataTable;
            this.gridControl1.DataSource = this.dataTable;
        }
        /// <summary>
        /// thêm thực món ăn vào hóa đơn.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>

        private void ptbAddFood_Click(object sender, EventArgs e)
        {
            if (dtgvBills.Tag == null)
            {
                fMessageBoxOK.Show("Vui vòng chọn bàn ăn!"); return;
            }
            BanAn table = ((BanAn)dtgvBills.Tag);

            if (cbTenKhachHang.SelectedItem == null)
            {
                fMessageBoxOK.Show("Bạn chưa chọn hóa đơn đặt trước nào!");
                return;
            }
            KhachHangHoaDonDTO kh   = (KhachHangHoaDonDTO)cbTenKhachHang.SelectedItem;
            string             MAHD = kh.MAHD;

            if (dtgvFood.SelectedCells.Count <= 0)
            {
                fMessageBoxOK.Show("Vui lòng chọn món ăn!");
                return;
            }
            string mama    = (string)dtgvFood.SelectedCells[0].OwningRow.Cells["MAMA"].Value;
            int    soluong = 0;

            Int32.TryParse(txbCount.Text, out soluong);
            if (soluong == 0)
            {
                fMessageBoxOK.Show("Vui lòng nhập số lượng muốn thêm!");
                return;
            }
            cthdDAO.Instance.insertCTHD(MAHD, mama, soluong, -1);
            cbTenKhachHang_SelectedIndexChanged(cbTenKhachHang, e);
            loadFoodtodtgv(dtgvFood);
        }
Beispiel #14
0
        public bool Update(SavePhieuDatBanDTO SavePhieuDatBanDTO)
        {
            PhieuDatBan p = _mapper.Map <SavePhieuDatBanDTO, PhieuDatBan>(SavePhieuDatBanDTO);
            IEnumerable <PhieuDatBan> listp = _unitOfWork.PhieuDatBans.Find(s => s.Id != p.Id && s.TrangThai == "Chưa xử lý");
            DateTime pCong3h = p.ThoiGianDat + new TimeSpan(0, 3, 0, 0);

            foreach (PhieuDatBan phieu in listp)
            {
                TimeSpan aInterval = new System.TimeSpan(0, 3, 0, 0);
                // cộng một khoảng thời gian.
                DateTime ThoiGianPCongThem = phieu.ThoiGianDat.Add(aInterval);

                if (phieu.IdBanAn == p.IdBanAn && ((DateTime.Compare(pCong3h, phieu.ThoiGianDat) >= 0 && DateTime.Compare(pCong3h, ThoiGianPCongThem) <= 0) || (DateTime.Compare(p.ThoiGianDat, ThoiGianPCongThem) <= 0 && DateTime.Compare(p.ThoiGianDat, phieu.ThoiGianDat) >= 0)))
                {
                    return(false);
                }
            }

            // cập nhật trạng thái bàn ăn sau khi sửa bàn ăn khác trong phiếu đặt bàn
            // update bàn ăn cũ
            int   IdBanAnPhieuCu = _unitOfWork.PhieuDatBans.GetIdBanAn(p.Id);
            BanAn banAnCu        = _unitOfWork.BanAns.GetById(IdBanAnPhieuCu);

            banAnCu.TrangThai = "Trống";
            _unitOfWork.BanAns.Update(banAnCu);

            // update bàn ăn mới
            _unitOfWork.PhieuDatBans.UpdateBanAnCuaPhieuDatBanInTimeNow(p);

            _unitOfWork.PhieuDatBans.Update(p);
            _unitOfWork.Complete();

            return(true);
        }
        /// <summary>
        /// Tính tiền. set hóa đơn thành 1
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void ptbPay_Click(object sender, EventArgs e)
        {
            if (dtgvBills.Tag == null)
            {
                fMessageBoxOK.Show("Vui vòng chọn bàn ăn!"); return;
            }


            BanAn table = ((BanAn)dtgvBills.Tag);

            if (fMessageBox.Show("Bạn có muốn tính tiền cho bàn " + table.MABA) == DialogResult.Cancel)
            {
                return;
            }
            List <string> listHD = HoaDonDAO.Instance.GETHOADONNonCheckByMABA(table.MABA);

            foreach (string item in listHD)
            {
                cthdDAO.Instance.xoaCTHDChuaCheBienCTHD(item);
            }
            if (fMessageBox.Show("Bạn có muốn in hóa đơn không?") == DialogResult.OK)
            {
                ptbPrint_Click(ptbPrint, e);
            }
            foreach (string item in listHD)
            {
                HoaDonDAO.Instance.UpdateHoaDonCheckOut(item);
            }
            clear();
        }
Beispiel #16
0
 public static DataTable GetInfoHoaDonTheoBanAn(BanAn banAn)
 {
     SqlParameter[] para = new SqlParameter[] {
         new SqlParameter("@" + config.HOA_DON_MA_HOA_DON, banAn.MaHoaDon),
     };
     return(DataProvider.GetDataByParameter(config.PROC_INFO_HOA_DON, para));
 }
Beispiel #17
0
    public int ThemChuyenMuc(BanAn obj)
    {
        SqlParameter tcm = new SqlParameter("@Name", obj.TenBan);
        SqlParameter tt  = new SqlParameter("@status", obj.TrangThai);

        SqlParameter[] sqlParams = { tcm, tt };
        return(dl.SaveChanges("INSERT INTO [dbo].[TableFood]([Name],[status]) VALUES(@Name,@status)", sqlParams));
    }
 private void imageListBoxBanAn_Click(object sender, EventArgs e)
 {
     try {
         int index = this.imageListBoxBanAn.SelectedIndex;
         this.banAnHienTai = listBanAn[index];
         LoadHoaDon();
     } catch { }
 }
Beispiel #19
0
    public int SuaChuyenMuc(BanAn obj)
    {
        SqlParameter mcm = new SqlParameter("@idTable", obj.MaBan);
        SqlParameter tcm = new SqlParameter("@Name", obj.TenBan);
        SqlParameter tt  = new SqlParameter("@status", obj.TrangThai);

        SqlParameter[] sqlParams = { mcm, tcm, tt };
        return(dl.SaveChanges("UPDATE TableFood SET name = @Name,status=@status WHERE idTable = @idTable", sqlParams));
    }
        /// <summary>
        /// Lấy tất cả hóa đơn
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void Btn_Click(object sender, EventArgs e)
        {
            clear();
            dtgvBills.Tag = (sender as Button);
            BanAn tableClick = (BanAn)((Label)(sender as Button).Tag).Tag;

            dtgvBills.Tag = tableClick;
            loadListBillByMaba(tableClick.MABA);
        }
 private void showTableList()
 {
     banAn             = new BanAn(selectedTable, this);
     banAn.FormClosed += new FormClosedEventHandler(updateTableInfo);
     banAn.ShowDialog();
     //this.Focus;
     banAn.Focus();
     banAn.loadTableIntoFlowLayoutPanel();
 }
Beispiel #22
0
 public UC_BanHang()
 {
     InitializeComponent();
     _lstBanAn      = new List <BanAn>();
     _lstMonAn      = new List <MonAn>();
     _SelectedMonAn = new MonAn();
     _SelectedBanAn = new BanAn();
     _CurrDatBan    = new DatBan();
 }
Beispiel #23
0
 public static int UpdateBanAn(BanAn banAn)
 {
     SqlParameter[] para = new SqlParameter[] {
         new SqlParameter("@" + config.BANAN_MABAN, banAn.MaBan),
         new SqlParameter("@" + config.BANAN_TRANGTHAI, banAn.TrangThai),
         new SqlParameter("@" + config.BANAN_MAHOADON, banAn.MaHoaDon)
     };
     return(DataProvider.ExecuteNonQuery(config.PROC_UPDATE_BAN_AN, para));
 }
        public void Create(SaveBanAnDTO saveBanAnDTO)
        {
            if (saveBanAnDTO == null)
            {
                return;
            }
            BanAn banAn = _mapper.Map <SaveBanAnDTO, BanAn>(saveBanAnDTO);

            _unitOfWork.BanAns.Add(banAn);
            _unitOfWork.Complete();
        }
        /// <summary>
        /// thay đổi trạng thía tương ứng với bàn ăn
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void cbMABA_SelectedIndexChanged(object sender, EventArgs e)
        {
            BanAn selected = (BanAn)(sender as ComboBox).SelectedItem;

            foreach (TrangThaiBanAN item in cbTRANGTHAI.Items)
            {
                if (item.IsTrangThai == selected.TRANGTHAI)
                {
                    cbTRANGTHAI.SelectedItem = item;
                }
            }
        }
Beispiel #26
0
 public BanAn LayDSBanAn(int maban)
 {
     using (DatBanAnMonAnDataContext context = new DatBanAnMonAnDataContext())
     {
         BanAn ba = context.BanAns.FirstOrDefault(x => x.MaBan == maban);
         if (ba != null)
         {
             ba.PhieuDatBanAns.Clear();
         }
         return(ba);
     }
 }
Beispiel #27
0
        public List <BanAn> LoadTableList()
        {
            List <BanAn> tablelist = new List <BanAn>();

            DataTable data = DataProvider.Instance.ExecuteQuery("BanAnList");

            foreach (DataRow item in data.Rows)
            {
                BanAn banan = new BanAn(item);
                tablelist.Add(banan);
            }
            return(tablelist);
        }
Beispiel #28
0
        public List <BanAn> getTableList()
        {
            List <BanAn> listBanAn = new List <BanAn>();
            DataTable    dtTable   = new DataTable();

            dtTable = DAL_BanAn.Instance.getTableList();
            foreach (DataRow row in dtTable.Rows)
            {
                BanAn newBanAn = new BanAn(row);
                listBanAn.Add(newBanAn);
            }
            return(listBanAn);
        }
        public void LoadHeaderHoaDon(BanAn banAn)
        {
            lblMaHD.Text      = banAn.MaHoaDon;
            lblNgayThang.Text = DateTime.UtcNow.Date.ToString();
            DataTable dt = Bus.GetInfoKhachHangTheoMaHoaDon(banAn);

            lblMaKH.Text   = dt.Rows[0]["MaKH"].ToString();
            lblTenKH.Text  = dt.Rows[0]["TenKH"].ToString();
            lblSDT.Text    = dt.Rows[0]["SDT"].ToString();
            lblDiaChi.Text = dt.Rows[0]["DiaChi"].ToString();
            DataTable dt_HoaDon = Bus.GetInfoHoaDonTheoBanAn(banAn);

            lblTongTien.Text = dt_HoaDon.Rows[0]["TongTien"].ToString();
        }
Beispiel #30
0
        public void UpdateBanAnCuaPhieuDatBanInTimeNow(PhieuDatBan phieuDatBan)
        {
            // Kiểm tra thời gian hiện tại cho phiếu đặt bàn
            BanAn    ba        = QLNHContext.BanAns.Where(s => s.Id == phieuDatBan.IdBanAn).FirstOrDefault();
            DateTime now       = DateTime.Now;
            DateTime nowCong3h = DateTime.Now + new TimeSpan(0, 3, 0, 0);
            DateTime tg        = phieuDatBan.ThoiGianDat + new TimeSpan(0, 3, 0, 0);

            if ((now >= phieuDatBan.ThoiGianDat && now <= tg) || (nowCong3h >= phieuDatBan.ThoiGianDat && nowCong3h <= tg))
            {
                ba.TrangThai = "Được đặt trước";
                QLNHContext.Entry(ba).State = Microsoft.EntityFrameworkCore.EntityState.Modified;
            }
        }