Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package at.jku.se.healthmanager.service;
- import at.jku.se.healthmanager.config.HealthManagerConfig;
- import at.jku.se.healthmanager.domain.BloodPressureData;
- import at.jku.se.healthmanager.domain.BloodPressureEntry;
- import at.jku.se.healthmanager.domain.UserStore;
- import at.jku.se.healthmanager.repository.BloodPressureDataRepository;
- import at.jku.se.healthmanager.repository.BloodPressureEntryRepository;
- import at.jku.se.healthmanager.web.rest.util.HealthUtils;
- import org.springframework.stereotype.Service;
- import java.util.HashSet;
- import java.util.Collections;
- import java.util.Set;
- @Service
- public class BloodPressureService {
- private final BloodPressureEntryRepository bloodPressureEntryRepository;
- private final BloodPressureDataRepository bloodPressureDataRepository;
- private final UserStoreService userStoreService;
- public BloodPressureService(BloodPressureEntryRepository bloodPressureEntryRepository,
- UserStoreService userStoreService, BloodPressureDataRepository bloodPressureDataRepository) {
- this.bloodPressureEntryRepository = bloodPressureEntryRepository;
- this.userStoreService = userStoreService;
- this.bloodPressureDataRepository = bloodPressureDataRepository;
- }
- public Set<BloodPressureEntry> getInactiveBloodPressureEntriesForUser() {
- return getBloodPressureEntriesForUser(false, true);
- }
- public Set<BloodPressureEntry> getActiveBloodPressureEntriesForUser() {
- return getBloodPressureEntriesForUser(true, false);
- }
- public Set<BloodPressureEntry> getBloodPressureEntriesForUser(boolean active, boolean inactive) {
- UserStore userStore = userStoreService.getUserStore();
- BloodPressureData bloodPressureData = userStore.getBloodPressureData();
- // load ActiveDays value (user settings OR default)
- final Integer activeDays = HealthUtils.isPositive(bloodPressureData.getActiveDays())
- ? bloodPressureData.getActiveDays()
- : HealthManagerConfig.ACTIVE_DAYS_DEFAULT;
- Set<BloodPressureEntry> entries = bloodPressureData.getBloodPressureEntries();
- if (!active) {
- entries.removeIf(e -> HealthUtils.isActive(e.getCreate(), activeDays));
- }
- if (!inactive) {
- entries.removeIf(e -> HealthUtils.isActive(e.getCreate(), activeDays) == false);
- }
- return bloodPressureData.getBloodPressureEntries();
- }
- public BloodPressureEntry save(BloodPressureEntry bloodPressureEntry) {
- BloodPressureData bloodPressureData = userStoreService.getUserStore().getBloodPressureData();
- bloodPressureEntry.setBloodPressureData(bloodPressureData);
- bloodPressureEntry = bloodPressureEntryRepository.save(bloodPressureEntry);
- return bloodPressureEntry;
- }
- public void setActiveDays(int days) {
- BloodPressureData bloodPressureData = userStoreService.getUserStore().getBloodPressureData();
- bloodPressureData.setActiveDays(days);
- bloodPressureDataRepository.save(bloodPressureData);
- }
- public int getActiveDays() {
- BloodPressureData bloodPressureData = userStoreService.getUserStore().getBloodPressureData();
- Integer activeDays = bloodPressureData.getActiveDays();
- if(activeDays == null)
- activeDays = HealthManagerConfig.ACTIVE_DAYS_DEFAULT;
- return activeDays;
- }
- public void setGoal(BloodPressureEntry goalEntry) {
- BloodPressureData bloodPressureData = userStoreService.getUserStore().getBloodPressureData();
- BloodPressureEntry goal = bloodPressureData.getGoal();
- if(goal == null) {
- goal = goalEntry;
- goal = bloodPressureEntryRepository.save(goal);
- }else{
- goal.setSysBlood(goalEntry.getSysBlood());
- goal.setDiasBlood(goalEntry.getDiasBlood());
- }
- bloodPressureData.setGoal(goal);
- bloodPressureDataRepository.save(bloodPressureData);
- }
- public BloodPressureEntry getGoal() {
- BloodPressureData bloodPressureData = userStoreService.getUserStore().getBloodPressureData();
- return bloodPressureData.getGoal();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement