public async Task <IActionResult> UpdateById(string id, PhieuDatSanForUpdateDto phieuDatSan) { try { var result = await _repo.UpdateById(id, phieuDatSan); return(StatusCode(200, new SuccessResponseDto { Message = "Cập nhật " + _entityName + " thành công!", Result = new SuccessResponseResultWithSingleDataDto { Data = result } })); } catch (Exception e) { return(StatusCode(500, new FailedResponseDto { Message = "Cập nhật " + _entityName + " thất bại!", Result = new FailedResponseResultDto { Errors = e } })); } }
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); }