public override bool SaveData() { var validateResult = ValidateInput(); if (!string.IsNullOrEmpty(validateResult)) { MessageBox.Show(validateResult, "Không hợp lệ.", MessageBoxButtons.OK, MessageBoxIcon.Error); return(false); } var ghichu = ThanhToanCongNo_GhiChu.Text; var ngayThanhToan = ThanhToanCongNo_NgayThanhToan.Value; var khachHangId = _domainData.Id; using (var transaction = new TransactionScope()) { foreach (var congNo in _congNoes) { if (congNo.ThanhToanNo > 0) { var thanhToanCongNo = new ThanhToanCongNo(); thanhToanCongNo.ThanhToan = congNo.ThanhToanNo; thanhToanCongNo.KhachHangId = khachHangId; thanhToanCongNo.NgayThanhToan = ngayThanhToan; thanhToanCongNo.GhiChu = ghichu; thanhToanCongNo.CongNoId = congNo.Id; CRUD.DecorateSaveData(thanhToanCongNo); CRUD.DbContext.ThanhToanCongNoes.AddOrUpdate(thanhToanCongNo); congNo.ThanhToan += congNo.ThanhToanNo; congNo.ThanhToanNo = 0; CRUD.DecorateSaveData(congNo); CRUD.DbContext.CongNoes.AddOrUpdate(congNo); } } CRUD.DbContext.SaveChanges(); transaction.Complete(); } ReturnObject = _domainData; return(true); }
public override bool SaveData() { var validateResult = ValidateInput(); if (!string.IsNullOrEmpty(validateResult)) { MessageBox.Show(validateResult); return(false); } // Save Don Hang CRUD.DecorateSaveData(_domainData); using (var transaction = new TransactionScope()) { if (_domainData.Id > 0) { // Remove chi tiet don hang cu DeleteChiTietDonHang(_domainData); CRUD.DbContext.DonHangs.AddOrUpdate(_domainData); } CRUD.DbContext.SaveChanges(); // Save chi tiet Don Hang foreach (var chiTietDonHang in _chiTietDonhang) { CRUD.DecorateSaveData(chiTietDonHang); chiTietDonHang.DonHangId = _domainData.Id; CRUD.DbContext.ChiTietDonHangs.AddOrUpdate(chiTietDonHang); CRUD.DbContext.SaveChanges(); // Cap nhat hang trong kho var hangHoa = CRUD.DbContext.KhoHangs.Find(chiTietDonHang.HangHoaId); if (hangHoa != null) { if (_loaiDonHang == Define.LoaiDonHangEnum.NhapKho) { hangHoa.SoLuong += chiTietDonHang.SoLuong; } else { hangHoa.SoLuong -= chiTietDonHang.SoLuong; } CRUD.DbContext.KhoHangs.AddOrUpdate(hangHoa); } // Save chi tiet hang hoa foreach (var chiTietHangHoa in chiTietDonHang.ListChiTietHangHoa) { CRUD.DecorateSaveData(chiTietHangHoa); chiTietHangHoa.ChiTietDonHangId = chiTietDonHang.Id; CRUD.DbContext.ChiTietHangHoas.AddOrUpdate(chiTietHangHoa); } } // Save cong no neu co var congNo = (long)DonHang_No.EditValue; if (congNo > 0) { // Add Cong no moi var congNoHienTai = new CongNo(); if (_domainData != null && _domainData.CongNoes.FirstOrDefault() != null) { congNoHienTai = _domainData.CongNoes.FirstOrDefault(); congNoHienTai.No = congNoHienTai.NoDonHang - congNoHienTai.DaThanhToan; } else { congNoHienTai.No = Math.Abs(congNo); } CRUD.DecorateSaveData(congNoHienTai); congNoHienTai.DonHangId = _domainData.Id; congNoHienTai.KhachHangId = _domainData.KhachHangId; congNoHienTai.NgayLap = _domainData.NgayLap; congNoHienTai.LoaiDonHang = _domainData.LoaiDonHang; congNoHienTai.GhiChu = _domainData.GhiChu; CRUD.DbContext.CongNoes.AddOrUpdate(congNoHienTai); CRUD.DbContext.SaveChanges(); // Add chi tiet thanh toanh if (_domainData.ThanhToan > 0) { var thanhToan = new ThanhToanCongNo(); CRUD.DecorateSaveData(thanhToan); thanhToan.CongNoId = congNoHienTai.Id; thanhToan.ThanhToan = _domainData.ThanhToan; thanhToan.NgayThanhToan = _domainData.NgayLap; CRUD.DbContext.ThanhToanCongNoes.AddOrUpdate(thanhToan); } } CRUD.DbContext.SaveChanges(); transaction.Complete(); } var confirmDialog = MessageBox.Show(Define.MESSAGE_IN_HOA_DON, Define.MESSAGE_IN_HOA_DON_TITLE, MessageBoxButtons.YesNo); if (confirmDialog == DialogResult.Yes) { InHoaDon(); } return(true); }