public ActionResult Edit(HoaDonNXB model, FormCollection collection) { try { if (ModelState.IsValid) { if (HoaDonNXBManager.edit(model)) { _currentHoaDon = null; putSuccessMessage("Cập nhật thành công"); return(RedirectToAction("Details", new { id = model.MaSoHoaDon })); } else { putErrorMessage("Cập nhật thất bại"); } } else { putModelStateFailErrors(ModelState); } return(RedirectToAction("Edit", new { id = model.MaSoHoaDon })); // TODO: Add update logic here //_hoadon = model; //ViewBag.currentNXB = _hoadon.NXB; //ViewBag.DMSach = new SelectList(_hoadon.NXB.Sach.Where(s => s.CongNoNXB.Count > 0).ToList(), // nameof(SachManager.Properties.MaSoSach), // nameof(SachManager.Properties.TenSach), ""); //return View(_hoadon); } catch (Exception ex) { putErrorMessage(ex.Message); return(RedirectToAction("Edit", new { id = model.MaSoHoaDon })); } }
public bool accept() { //Kiểm tra số lượng có thể duyệt không foreach (ChiTietHoaDonNXB ct in this.ChiTiet) { //Nếu tổng số lượng sách mà nhà xuất bản nợ ít hơn só sách sẽ thanh toán thì hủy duyệt if (ct.Sach.TongSoLuongNXBNo < ct.SoLuong) { return(false); } } //Duyệt từng chi tiết foreach (ChiTietHoaDonNXB ct in this.ChiTiet) { // //Cập nhật công nợ var sl = ct.SoLuong; // Số lượng sách thanh toán var count = ct.Sach.CongNoNXB.Count; // Số lượng các công nợ var index = 0; while (sl > 0) { if (index == count) { //Đã duyệt hết các công nợ break; } if (ct.Sach.CongNoNXB[index].SoLuong >= sl) // Nếu công nợ nhiều hơn hoặc bằng số lượng thanh toán { //Giảm số lượng công nợ ct.Sach.CongNoNXB[index].SoLuong -= sl; sl -= sl; //Cập nhật if (!CongNoNXBManager.edit(ct.Sach.CongNoNXB[index])) { return(false); } } else // Nếu công nợ ít hơn số lượng thanh toán { sl -= ct.Sach.CongNoNXB[index].SoLuong; ct.Sach.CongNoNXB[index].SoLuong = 0; //Cập nhật if (!CongNoNXBManager.edit(ct.Sach.CongNoNXB[index])) { return(false); } } index++; } ct.TrangThai = 1; } //Thay đổi trang thái phiếu nhập this.TrangThai = 1; if (HoaDonNXBManager.edit(this)) { return(true); } else { return(false); } }