示例#1
0
        public List<BillData> FindBill(DateTime startDay, DateTime endDay, string tableId, string areaId)
        {
            List<BillData> listBill = new List<BillData>();
            Dictionary<string, object> sqlStoredProcedureParams = new Dictionary<string, object>();
            sqlStoredProcedureParams.Add("tuNgay", startDay);
            sqlStoredProcedureParams.Add("denNgay", endDay);
            sqlStoredProcedureParams.Add("maBan", "%" + tableId + "%");
            sqlStoredProcedureParams.Add("maKhuVuc", "%" + areaId + "%");

            DataTable dt = provider.ExecuteReader("HOADON_proc_search", sqlStoredProcedureParams);

            foreach (DataRow row in dt.Rows)
            {
                BillData bill = new BillData();
                bill.BillId = row["MaHoaDon"].ToString();
                bill.Table = new TableData
                {
                    TableId = row["MaBan"].ToString(),
                    TableName = row["TenBan"].ToString(),
                    Area = new AreaData
                    {
                        AreaId = row["MaKhuVuc"].ToString(),
                        AreaName = row["TenKhuVuc"].ToString()
                    }
                };
                bill.Time = DateTime.Parse(row["ThoiGian"].ToString());
                bill.TotalMoney = Decimal.Parse(row["TongTien"].ToString());

                listBill.Add(bill);
            }

            return listBill;
        }
        /// <summary>
        /// Lấy ra tất cả chi tiết hóa đơn của một hóa đơn.
        /// </summary>
        /// <param name="bill"></param>
        /// <returns></returns>
        public List<BillDetailData> GetAllBillDetail(BillData bill)
        {
            List<BillDetailData> listBillDetail = new List<BillDetailData>();
            Dictionary<string, object> sqlStoredProcedureParams = new Dictionary<string, object>();
            sqlStoredProcedureParams.Add("maHoaDon", bill.BillId);
            DataTable dt = provider.ExecuteReader("HOADON_proc_load_CTHD", sqlStoredProcedureParams);

            foreach (DataRow row in dt.Rows)
            {
                BillDetailData billDetail = new BillDetailData();
                billDetail.BillDetaiId = row["MaCTHoaDon"].ToString();
                billDetail.BillId = row["MaHoaDon"].ToString();
                billDetail.MenuItem = new MenuItemData
                {
                    MenuItemId = row["MaMonAn"].ToString(),
                    MenuItemName = row["TenMonAn"].ToString(),
                    Unit = new UnitData
                    {
                        UnitId = row["MaDonVi"].ToString(),
                        UnitName = row["TenDonVi"].ToString()
                    },
                    Price = Decimal.Parse(row["DonGia"].ToString())
                };
                billDetail.Quantity = int.Parse(row["SoLuong"].ToString());
                billDetail.IsPrepare = bool.Parse(row["DaChuanBi"].ToString());

                listBillDetail.Add(billDetail);
            }

            return listBillDetail;
        }
示例#3
0
        public int DeleteBill(BillData bill)
        {
            Dictionary<string, object> sqlStoredProcedureParams = new Dictionary<string, object>();
            sqlStoredProcedureParams.Add("maHoaDon", bill.BillId);

            return provider.ExecuteNonQuery("HOADON_proc_delete", sqlStoredProcedureParams);
        }
示例#4
0
        public int AddBill(BillData bill)
        {
            Dictionary<string, object> sqlStoredProcedureParams = new Dictionary<string, object>();
            sqlStoredProcedureParams.Add("maHoaDon", bill.BillId);
            sqlStoredProcedureParams.Add("maBan", bill.Table.TableId);
            sqlStoredProcedureParams.Add("thoiGian", DateTime.Now);

            return provider.ExecuteNonQuery("HOADON_proc_insert", sqlStoredProcedureParams);
        }
示例#5
0
        private void OpenTableAction()
        {
            if (TableSelected != null && TableSelected.TableState != "CoNguoi")
            {
                BillOfTableSelected = new BillData();
                BillOfTableSelected.Table = TableSelected;

                // Thêm mới hóa đơn cho bàn mới mở.
                try
                {
                    LocatorDataSource.BillDS.AddBill(BillOfTableSelected);

                    TableSelected = LocatorDataSource.TableDS.GetTable(TableSelected);

                    // Update lại trạng thái cho bàn ngoài list.
                    TableData tableChanged = ListTable.SingleOrDefault(p => p.TableId == TableSelected.TableId);
                    if (tableChanged != null) tableChanged.TableState = TableSelected.TableState;
                }
                catch (MySqlException ex)
                {
                    MessageDialogHelper.CreateErrorMessage(ex.Message);
                }
            }
        }
示例#6
0
        /// <summary>
        /// Lấy ra bill chưa thanh toán cuối cùng của bàn.
        /// </summary>
        /// <param name="table"></param>
        /// <returns></returns>
        public BillData GetLastBill(TableData table)
        {
            BillData bill = new BillData();
            Dictionary<string, object> sqlStoredProcedureParams = new Dictionary<string, object>();
            sqlStoredProcedureParams.Add("maBan", table.TableId);
            DataTable dt = provider.ExecuteReader("HOADON_proc_get_last_bill", sqlStoredProcedureParams);

            if (dt.Rows.Count == 1)
            {
                bill.BillId = dt.Rows[0]["MaHoaDon"].ToString();
                bill.Table = new TableData { TableId = dt.Rows[0]["MaBan"].ToString() };
                bill.TableLiquidate = new TableData { TableId = dt.Rows[0]["MaBanThanhToan"].ToString() };
                bill.Time = DateTime.Parse(dt.Rows[0]["ThoiGian"].ToString());
                bill.TotalMoney = Decimal.Parse(dt.Rows[0]["TongTien"].ToString());
            }

            return bill;
        }
示例#7
0
        /// <summary>
        /// Đánh dấu các món ăn lưu trong hóa đơn thành đã được chuẩn bị.
        /// </summary>
        /// <param name="bill"></param>
        /// <returns></returns>
        public int PrepareBill(BillData bill)
        {
            Dictionary<string, object> sqlStoredProcedureParams = new Dictionary<string, object>
            {
                {"maHoaDon", bill.BillId}
            };

            return provider.ExecuteNonQuery("HOADON_proc_prepare", sqlStoredProcedureParams);
        }