public async Task <PhieuDatSan> UpdateById(string id, PhieuDatSanForUpdateDto phieuDatSan)
        {
            var    danhSachChiTietPhieuDatSan = _context.DanhSachChiTietPhieuDatSan.Where(x => x.MaPhieuDatSan == id);
            double daThanhToan = 0;

            foreach (var item in danhSachChiTietPhieuDatSan)
            {
                daThanhToan = daThanhToan + item.TienCoc;
            }

            if (daThanhToan == 0)
            {
                phieuDatSan.TrangThai = 0;
            }
            else if (daThanhToan < phieuDatSan.TongTien)
            {
                phieuDatSan.TrangThai = 1;
            }
            else if (daThanhToan >= phieuDatSan.TongTien)
            {
                phieuDatSan.TrangThai = 2;
            }

            var oldRecord = await _context.DanhSachPhieuDatSan.AsNoTracking().FirstOrDefaultAsync(x => x.MaPhieuDatSan == id);

            var phieuDatSanToUpdateById = new PhieuDatSan
            {
                MaPhieuDatSan = id,
                MaKhachHang   = phieuDatSan.MaKhachHang,
                MaNhanVien    = phieuDatSan.MaNhanVien,
                NgayLap       = phieuDatSan.NgayLap,
                TongTien      = phieuDatSan.TongTien,
                TrangThai     = phieuDatSan.TrangThai,
                ThoiGianTao   = oldRecord.ThoiGianTao,
                DaXoa         = oldRecord.DaXoa
            };



            _context.DanhSachPhieuDatSan.Update(phieuDatSanToUpdateById);
            await _context.SaveChangesAsync();

            return(phieuDatSanToUpdateById);
        }
Esempio n. 2
0
        public async Task <PhieuDatSan> Create(PhieuDatSanForCreateDto phieuDatSan)
        {
            var newPhieuDatSan = new PhieuDatSan
            {
                MaPhieuDatSan   = GenerateId(),
                MaKhachHang     = phieuDatSan.MaKhachHang,
                MaNhanVien      = phieuDatSan.MaNhanVien,
                NgayLap         = phieuDatSan.NgayLap,
                TongTien        = phieuDatSan.TongTien,
                ThoiGianCapNhat = DateTime.Now,
                ThoiGianTao     = DateTime.Now,
                TrangThai       = 0,
                DaXoa           = 0
            };

            _context.DanhSachPhieuDatSan.AddAsync(newPhieuDatSan);
            _context.SaveChangesAsync();
            return(newPhieuDatSan);
        }