1 package pk.lucidxpo.ynami.service.sample;
2
3 import org.springframework.beans.factory.annotation.Autowired;
4 import org.springframework.stereotype.Service;
5 import pk.lucidxpo.ynami.persistence.dao.sample.SampleRepository;
6 import pk.lucidxpo.ynami.persistence.model.sample.Sample;
7
8 import java.util.List;
9 import java.util.Map;
10 import java.util.Optional;
11
12 import static java.lang.Boolean.valueOf;
13
14 @Service
15 public class SampleServiceImpl implements SampleService {
16 private final SampleRepository sampleRepository;
17
18 @Autowired
19 public SampleServiceImpl(final SampleRepository sampleRepository) {
20 this.sampleRepository = sampleRepository;
21 }
22
23 @Override
24 public List<Sample> getAll() {
25 return sampleRepository.findAll();
26 }
27
28 @Override
29 public Optional<Sample> findById(String id) {
30 return sampleRepository.findById(id);
31 }
32
33 @Override
34 public boolean existsByFirstName(String firstName) {
35 return sampleRepository.existsByFirstName(firstName);
36 }
37
38 @Override
39 public Sample create(Sample sample) {
40 return sampleRepository.save(sample);
41 }
42
43 @Override
44 public Sample update(Sample sample) {
45 return sampleRepository.save(sample);
46 }
47
48 @Override
49 public void delete(String id) {
50 sampleRepository.deleteById(id);
51 }
52
53 @Override
54 public Sample updateStatus(String id, Map<String, Object> updates) {
55 final Optional<Sample> sample = findById(id);
56
57
58 sample.get().setActive(valueOf((String) updates.get("active")));
59
60 return sampleRepository.save(sample.get());
61 }
62 }