void UpdateProCount(BillInfo BI) { int idBill = _serviceBill.GetUncheckBillByIdTable_S(_idTable); IEnumerable listBillInfo = _serviceBillInfo.GetListBillInfoByIdBill_S(idBill); foreach (BillInfo item in listBillInfo) { if (BI.id == item.id) { if (_serviceBillInfo.UpdateBillInfo_S(new BillInfo() { id = item.id, idBill = idBill, idProduct = item.idProduct, count = (item.count - BI.count) })) { break; } break; } } }
void ChangeIdBill(int idBillBeChange, int idBillChangeTo) { IEnumerable listBillInfo = _serviceBillInfo.GetListBillInfoByIdBill_S(idBillBeChange); foreach (BillInfo item in listBillInfo) { if (_serviceBillInfo.UpdateBillInfo_S(new BillInfo() { id = item.id, idBill = idBillChangeTo, idProduct = item.idProduct, count = item.count })) { } } }
void SwitchTable() { TableFood table = lsvBill.Tag as TableFood; if (table == null) { return; } int idBillBeSwitch = _serviceBill.GetUncheckBillByIdTable_S(table.id); int idTableSwitchTo = (cmbTableFood.SelectedItem as TableFood).id; if (idTableSwitchTo == table.id) { return; } int idBillSwitchTo = _serviceBill.GetUncheckBillByIdTable_S(idTableSwitchTo); IEnumerable listBillInfo_TableBeSwitch = _serviceBillInfo.GetListBillInfoByIdBill_S(idBillBeSwitch); bool check = false; if (idBillSwitchTo == -1) { if (MessageBox.Show(String.Format("Bạn có chắc chắn muốn chuyển {0} sang {1} không?" , table.name, (cmbTableFood.SelectedItem as TableFood).name), "Thông báo", MessageBoxButtons.OKCancel) == DialogResult.OK) { if (_serviceBill.AddBill_S(new Bill() { idTable = idTableSwitchTo, dateCheckIn = DateTime.Now, discount = 0, status = 0, totalPrice = 0 })) {//Tạo bill mới cho bàn đc chuyển tới int idBillCurrent = _serviceBill.GetMaxIdBill_S().GetValueOrDefault(); foreach (BillInfo item in listBillInfo_TableBeSwitch) {//Chuyển tất cả billinfo của bàn được chuyển qua bàn mới if (_serviceBillInfo.UpdateBillInfo_S(new BillInfo() { id = item.id, idBill = idBillCurrent, idProduct = item.idProduct, count = item.count })) { // idBill ở đây là của bill mới tạo nên lấy giá trị max của bill check = true; } } } } } else { //Trường hợp này là 2 bàn cùng có bill nên k cần tạo bill mới cho bàn chuyển tới if (MessageBox.Show(String.Format("Bạn có chắc chắn muốn gọp {0} và {1} không?" , table.name, (cmbTableFood.SelectedItem as TableFood).name), "Thông báo", MessageBoxButtons.OKCancel) == DialogResult.OK) { foreach (BillInfo item in listBillInfo_TableBeSwitch) {//Chuyển tất các các billinfo cho bàn đc chuyển tới if (_serviceBillInfo.UpdateBillInfo_S(new BillInfo() { id = item.id, idBill = idBillSwitchTo, idProduct = item.idProduct, count = item.count })) { check = true; } } } } _serviceBill.DeleteBillById_S(idBillBeSwitch); if (check) { _serviceTable.UpdateStatus_S(new TableFood() { id = table.id, status = "Trống" }); if (idBillSwitchTo == -1) { MessageBox.Show("Chuyển bàn thành công!"); _serviceTable.UpdateStatus_S(new TableFood() { id = idTableSwitchTo, status = "Có Khách" }); } else { MessageBox.Show("Gọp bàn thành công!"); } } //ShowBill(idTableSwitchTo); LoadTable(); }