Rysunek dotyczny zadania przesłanego w mailu.


Podobne zadania już wykonywałeś, tylko dla innych obiektów.

 

W klasie InitIntegrationTestData dodaj nową metodę: initDateaseByRoom

- podobne metody już istnieją w tej klasie

 

W metodzie upadteRoom w RoomsService, powinieneś umieścić podobny kod, psaudokod:

```

entityOptional = roomsRepository.fingById(dot.getId())

if entityOptional.isPressent() 

    roomsMapper.fromDtoToEntity(dto, entityOptional.get())

```

 

Metoda saveOrUpdate powinna posiadać strukturę `if` sprawdzającą, czy dto posiada pole Id (notNull), jeśli

- nie posiada - to jest 'coś' nowego i należy zapisać do bazy danych

- posiada - już istniej wpis dla tego pokoju - uaktualnij

 

Metoda inactiveRoom może pobrać pokuj z bazy danych i ustawić jego koszt na Zero

- pojuj będzie nieaktywny- można do tego celu wykorzystać zapytanie HQL, ale kod:

`entity.setConst(BigDecimal.ZERO)`

również jest poprawny

 

Metoda getAll:

- jeśli znajdzie pokoje przydzielone danemu użytkownikowi: `roomsRepository.findAllByUser(user)` zwróci wszystkie

- jeśli użytkownik nie ma jeszcze wybranych, żadnych pokoii, wykorzystaj Enum RoomsType, aby przygotować listę z RoomDto i ustawić domyślną wartość ZERO

 

- pseudokod:

```

if roomsRepository.findAllByUser(userLogInfoService.getLoggedUserEntit())

   prepareListFromEntity

else 

   preparelistFormEnum

```

 

24 Epik- Dostępne nieruchomości - VI

02 marca 2024

Robert Szczygielski Dice Dev. Polityka Prywatności i Regulamin Szkoleń Online

Strona www stworzona w kreatorze WebWave.