source: src/main/java/mk/ukim/finki/eglas/services/Impl/DocumentsServiceImpl.java@ ac151d1

main
Last change on this file since ac151d1 was ac151d1, checked in by David <darsov2@…>, 11 days ago

initial

  • Property mode set to 100644
File size: 1.8 KB
Line 
1package mk.ukim.finki.eglas.services.Impl;
2
3import mk.ukim.finki.eglas.model.Citizen;
4import mk.ukim.finki.eglas.model.Documents;
5import mk.ukim.finki.eglas.repository.DocumentsRepository;
6import mk.ukim.finki.eglas.services.CitizenService;
7import mk.ukim.finki.eglas.services.DocumentsService;
8import org.springframework.stereotype.Service;
9
10import java.time.LocalDate;
11import java.util.List;
12
13@Service
14public 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}
Note: See TracBrowser for help on using the repository browser.