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
RevLine 
[204464d]1package edu.gjoko.schedlr.services;
2
3import edu.gjoko.schedlr.entity.Stakeholder;
4import edu.gjoko.schedlr.entity.StakeholderType;
5import edu.gjoko.schedlr.repositories.StakeholderRepository;
[a436340]6import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
[204464d]7import org.springframework.stereotype.Service;
8
[77205be]9import java.util.Optional;
10
[204464d]11@Service
12public class StakeholderService {
13
14 private StakeholderRepository stakeholderRepository;
[a436340]15 private BCryptPasswordEncoder bCryptPasswordEncoder;
[204464d]16
[a436340]17 public StakeholderService(StakeholderRepository stakeholderRepository,
18 BCryptPasswordEncoder bCryptPasswordEncoder) {
[204464d]19 this.stakeholderRepository = stakeholderRepository;
[a436340]20 this.bCryptPasswordEncoder = bCryptPasswordEncoder;
[204464d]21 }
22
23 public Stakeholder saveStakeholder(Stakeholder stakeholder) {
[a436340]24 stakeholder.setPassword(bCryptPasswordEncoder.encode(stakeholder.getPassword()));
[204464d]25 stakeholder.setStakeholderType(StakeholderType.CUSTOMER);
26 return stakeholderRepository.save(stakeholder);
27 }
[950fa0d]28
29 public Stakeholder findById(Long id) {
30 return stakeholderRepository.findById(id).get();
31 }
[77205be]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 }
[204464d]44}
Note: See TracBrowser for help on using the repository browser.