Exemplo n.º 1
0
        public async Task Create(PhieuBanHangViewModel O)
        {
            var          nhanVien    = _nhanVienRepo.GetAll().ToList();
            var          maNhienVien = nhanVien.FirstOrDefault(t => t.TenNhanvien == O.tenNhanVien).MaNhanVien;
            PhieuBanHang order       = new PhieuBanHang
            {
                SoPhieuBanHang       = O.soPhieuBanHang,
                NgayBan              = O.ngayBan,
                MaNhanVien           = maNhienVien,
                Ghichu               = O.ghiChu,
                TrangThai            = true,
                TenKhachHang         = O.tenKhachHang,
                SoDienThoai          = O.soDienThoai,
                TongTien             = O.tongTien,
                NgayChinhSua         = DateTime.Now,
                ChiTietPhieuBanHangs = O.chiTietPhieuBanHang
            };
            await _phieuBanHangRepo.InsertAsync(order);

            // Lấy các mã hàng hóa để giảm số lượng => Lấy trong chi tiết phiếu bán hàng
            foreach (var item in order.ChiTietPhieuBanHangs)
            {
                _hangHoaBus.CapNhapHangHoaVaoBaoCaoTonKhiTaoPhieuBanHang(item.MaHangHoa, item.SoLuong, DateTime.Now.Month, DateTime.Now.Year);
                //Tìm trong csdl các hàng hóa có mã hàng hóa ở trên
                var hanghoa = _hangHoaRepo.Fetch(t => t.MaHangHoa == item.MaHangHoa).FirstOrDefault();
                //Trừ số lượng người nhập
                hanghoa.SoLuongTon = hanghoa.SoLuongTon - item.SoLuong;
                //Lưu lại
                await _hangHoaRepo.EditAsync(hanghoa);
            }
        }
        public async Task Update(PhieuDatHang entity)
        {
            DateTime today = DateTime.Now;
            int      thang = today.Month;
            int      nam   = today.Year;

            foreach (var i in entity.ChiTietPhieuDatHangs)
            {
                _hangHoaBus.CapNhatHangHoaKhiTaoPhieuBanHang(i.MaHangHoa, i.SoLuong);
                _hangHoaBus.CapNhapHangHoaVaoBaoCaoTonKhiTaoPhieuBanHang(i.MaHangHoa, i.SoLuong, thang, nam);
            }

            await _phieuDatHangRepo.EditAsync(entity);
        }