source: src/main/java/edu/gjoko/schedlr/services/BusinessService.java@ 9050790

Last change on this file since 9050790 was 9050790, checked in by Gjoko Kostadinov <gjoko.kostadinov@…>, 16 months ago

Add admin functionality for activating or deactivating companies

  • Property mode set to 100644
File size: 1.8 KB
Line 
1package edu.gjoko.schedlr.services;
2
3import edu.gjoko.schedlr.entity.Business;
4import edu.gjoko.schedlr.entity.ServiceType;
5import edu.gjoko.schedlr.entity.StakeholderType;
6import edu.gjoko.schedlr.repositories.BusinessRepository;
7import edu.gjoko.schedlr.repositories.ServiceTypeRepository;
8import lombok.AllArgsConstructor;
9import org.springframework.stereotype.Service;
10
11import java.util.List;
12
13import static edu.gjoko.schedlr.entity.BusinessStatus.ACTIVE;
14import static edu.gjoko.schedlr.entity.BusinessStatus.NEW;
15
16@Service
17@AllArgsConstructor
18public class BusinessService {
19
20 private final BusinessRepository businessRepository;
21 private final ServiceTypeRepository serviceTypeRepository;
22
23 public void saveBusiness(Business business) {
24 saveNewServiceTypes(business);
25 business.getOwner().setStakeholderType(StakeholderType.BUSINESS_OWNER);
26 business.setBusinessStatus(NEW);
27 businessRepository.save(business);
28 }
29
30 public void saveNewServiceTypes(Business business) {
31 business.getServices()
32 .stream()
33 .forEach(service -> {
34 if (service.getServiceType().getId() == null) {
35 ServiceType serviceType = service.getServiceType();
36 serviceType.setBusinessType(business.getBusinessType());
37 service.setServiceType(serviceTypeRepository.save(serviceType));
38 }
39 });
40 }
41
42 public List<Business> findAll() {
43 return businessRepository.findAll();
44 }
45
46 public void updateBusinesses(List<Business> businessList) {
47 businessList
48 .stream()
49 .forEach(business -> {
50 businessRepository.save(business);
51 });
52 }
53
54}
Note: See TracBrowser for help on using the repository browser.