source: src/main/java/edu/gjoko/schedlr/services/StakeholderService.java@ 77205be

Last change on this file since 77205be was 77205be, checked in by gjoko kostadinov <gjokokostadinov@…>, 6 months ago

Add entire code

  • Property mode set to 100755
File size: 1.7 KB
Line 
1package edu.gjoko.schedlr.services;
2
3import edu.gjoko.schedlr.entity.Stakeholder;
4import edu.gjoko.schedlr.entity.StakeholderType;
5import edu.gjoko.schedlr.repositories.StakeholderRepository;
6import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
7import org.springframework.stereotype.Service;
8
9import java.util.Optional;
10
11@Service
12public class StakeholderService {
13
14 private StakeholderRepository stakeholderRepository;
15 private BCryptPasswordEncoder bCryptPasswordEncoder;
16
17 public StakeholderService(StakeholderRepository stakeholderRepository,
18 BCryptPasswordEncoder bCryptPasswordEncoder) {
19 this.stakeholderRepository = stakeholderRepository;
20 this.bCryptPasswordEncoder = bCryptPasswordEncoder;
21 }
22
23 public Stakeholder saveStakeholder(Stakeholder stakeholder) {
24 stakeholder.setPassword(bCryptPasswordEncoder.encode(stakeholder.getPassword()));
25 stakeholder.setStakeholderType(StakeholderType.CUSTOMER);
26 return stakeholderRepository.save(stakeholder);
27 }
28
29 public Stakeholder findById(Long id) {
30 return stakeholderRepository.findById(id).get();
31 }
32
33 public void saveOrUpdateStakeholder(Stakeholder stakeholder) {
34 if (stakeholder.getId() != null) {
35 var found = stakeholderRepository.findById(stakeholder.getId()).get();
36 found.setFirstName(stakeholder.getFirstName());
37 found.setLastName(stakeholder.getLastName());
38 found.setPhoneNumber(stakeholder.getPhoneNumber());
39 found.setEmail(stakeholder.getEmail());
40 found.setUsername(stakeholder.getUsername());
41 stakeholderRepository.save(found);
42 }
43 }
44}
Note: See TracBrowser for help on using the repository browser.