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);
        }
Exemple #2
0
        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);
        }