public HOADON_NHAPHANG toHoaDonNhap() { HOADON_NHAPHANG hd = Context.getInstance().db.HOADON_NHAPHANG.Where(key => key.MaHoaDon == MaHoaDon).FirstOrDefault(); if (hd == null) { hd = new HOADON_NHAPHANG(); } hd.MaHoaDon = MaHoaDon; hd.NgayLap = NgayLap; hd.MaNguoiLap = MaNhanVien; hd.TongTien = TongTien; hd.GhiChu = GhiChu; hd.MaNhaCungCap = MaNhaCungCap; hd.TrangThai = TrangThai; hd.MaNguoiSua = MaNhanVienSua; hd.NgaySua = NgaySua; return(hd); }
public static bool add_HoaDon(HoaDon_View hd, DataUpdate <CT_HOADON> list_Change) { using (var transaction = Context.getInstance().db.Database.BeginTransaction()) { try { hd.TrangThai = 1; Context.getInstance().db.Entry(hd.toHoaDon()).State = System.Data.Entity.EntityState.Added; list_Change.Inserts.ForEach(x => { //set trang thai = 1 o day x.TinhTrang = 1; Context.getInstance().db.Entry(x).State = System.Data.Entity.EntityState.Added; //xoa trong kho KHO kho = Context.getInstance().db.KHOes.Where(key => key.MaLinhKien == x.MaLinhKien).Where(k => k.Seri == x.Seri).FirstOrDefault(); kho.TrangThai = 0; Context.getInstance().db.Entry(kho).State = System.Data.Entity.EntityState.Modified; //chuyen trang thai cho hoa don nhap sang 2 la ko duoc xoa List <HoaDonNhap_View> listHDN = HoaDonNhap_DAL.searchSeri(x.Seri); if (listHDN != null) { foreach (var item in listHDN) { HOADON_NHAPHANG hdn = item.toHoaDonNhap(); if (hdn.TrangThai == 1) { hdn.TrangThai = 2; Context.getInstance().db.Entry(hdn).State = System.Data.Entity.EntityState.Modified; } } } }); //update so tien mua hang cua khach hang KHACHHANG kh = Context.getInstance().db.KHACHHANGs.Where(key => key.MaKhachHang == hd.MaKhachHang).FirstOrDefault(); kh.Tong += hd.TongTien; Context.getInstance().db.Entry(kh).State = System.Data.Entity.EntityState.Modified; //update so luong ban hang cua nhan vien NHANVIEN mNV = Context.getInstance().db.NHANVIENs.Where(key => key.MaNhanVien == hd.MaNhanVien).FirstOrDefault(); mNV.TongTien += hd.TongTien; Context.getInstance().db.Entry(mNV).State = System.Data.Entity.EntityState.Modified; Context.getInstance().db.SaveChanges(); transaction.Commit(); } catch (Exception ex) { transaction.Rollback(); //Context.getInstance().db.KHOes.Local.Clear(); //Context.getInstance().db.CT_HOADON.Local.Clear(); //Context.getInstance().db.KHACHHANGs.Local.Clear(); //Context.getInstance().db.NHANVIENs.Local.Clear(); Context.Refresh(); Console.WriteLine("ERROR--------------------------------------" + ex.Message); return(false); } } return(true); }