1 | package mk.ukim.finki.eglas.services.Impl;
|
---|
2 |
|
---|
3 | import mk.ukim.finki.eglas.model.Citizen;
|
---|
4 | import mk.ukim.finki.eglas.model.Documents;
|
---|
5 | import mk.ukim.finki.eglas.repository.DocumentsRepository;
|
---|
6 | import mk.ukim.finki.eglas.services.CitizenService;
|
---|
7 | import mk.ukim.finki.eglas.services.DocumentsService;
|
---|
8 | import org.springframework.stereotype.Service;
|
---|
9 |
|
---|
10 | import java.time.LocalDate;
|
---|
11 | import java.util.List;
|
---|
12 |
|
---|
13 | @Service
|
---|
14 | public class DocumentsServiceImpl implements DocumentsService {
|
---|
15 | private final DocumentsRepository documentsRepository;
|
---|
16 | private final CitizenService citizenService;
|
---|
17 |
|
---|
18 | public DocumentsServiceImpl(DocumentsRepository documentsRepository, CitizenService citizenService) {
|
---|
19 | this.documentsRepository = documentsRepository;
|
---|
20 | this.citizenService = citizenService;
|
---|
21 | }
|
---|
22 |
|
---|
23 | @Override
|
---|
24 | public List<Documents> findAll() {
|
---|
25 | return documentsRepository.findAll();
|
---|
26 | }
|
---|
27 |
|
---|
28 | @Override
|
---|
29 | public Documents findById(Long id) {
|
---|
30 | return documentsRepository.findById(id).orElseThrow(() -> new RuntimeException("Document not found"));
|
---|
31 | }
|
---|
32 |
|
---|
33 | @Override
|
---|
34 | public Documents update(Long id, String documentNumber, LocalDate issueDate, LocalDate expiryDate, String issuer, Long citizenId) {
|
---|
35 | Documents documents = new Documents();
|
---|
36 | Citizen citizen = citizenService.findById(citizenId);
|
---|
37 | if(id != null)
|
---|
38 | {
|
---|
39 | documents = findById(id);
|
---|
40 | }
|
---|
41 | documents.setDocumentNumber(documentNumber);
|
---|
42 | documents.setIssuer(issuer);
|
---|
43 | documents.setIssueDate(issueDate);
|
---|
44 | documents.setExpiryDate(expiryDate);
|
---|
45 | documents.setCitizen(citizen);
|
---|
46 | return documentsRepository.save(documents);
|
---|
47 | }
|
---|
48 |
|
---|
49 | @Override
|
---|
50 | public Documents delete(Long id) {
|
---|
51 | Documents documents = findById(id);
|
---|
52 | documentsRepository.delete(documents);
|
---|
53 | return documents;
|
---|
54 | }
|
---|
55 | }
|
---|