Ejemplo n.º 1
0
        //[Route("Index")]
        public async Task <IActionResult> Index()
        {
            var sleeps = await _fitbitService.GetSleepSummaries(DateTime.Now.AddDays(-30), DateTime.Now);

            var restingHeartRates = await _fitbitService.GetRestingHeartRates(DateTime.Now.AddDays(-30), DateTime.Now);

            var weights = await _withingsService.GetWeights(DateTime.Now.AddDays(-30));

            var bloodPressures = await _withingsService.GetBloodPressures(DateTime.Now.AddDays(-30));

            var targets = await _sheetsService.GetTargets();

            var exercises = await _sheetsService.GetExercises(DateTime.Now.AddDays(-30));

            var drinks = await _sheetsService.GetDrinks(DateTime.Now.AddDays(-30));

            var dbWeightDate = _healthRepository.GetLatestWeightDate();

            var resp = new CanaryResponse
            {
                FitbitSleepSummaries    = sleeps.Any(),
                FitbitRestingHeartRates = restingHeartRates.Any(),
                WithingsWeights         = weights.Any(),
                WithingsBloodPressures  = bloodPressures.Any(),
                GoogleSheetsTargets     = targets.Any(),
                GoogleSheetsExercises   = exercises.Any(),
                GoogleSheetsDrinks      = drinks.Any(),
                DatabaseQuery           = dbWeightDate.HasValue
            };

            return(Ok(resp));
        }
Ejemplo n.º 2
0
        public async Task ImportWithingsWeights()
        {
            await _logger.LogMessageAsync("WEIGHTS : NOTIFICATION from Withings");

            var latestWeightDate = _healthService.GetLatestWeightDate(MIN_WEIGHT_DATE);
            var fromDate         = latestWeightDate.AddDays(-SEARCH_DAYS_PREVIOUS);

            await _logger.LogMessageAsync($"WEIGHTS : Latest record has a date of : {latestWeightDate:dd-MMM-yyyy HH:mm:ss (ddd)}, will retrieve from {SEARCH_DAYS_PREVIOUS} days previous to this date : {fromDate:dd-MMM-yyyy HH:mm:ss (ddd)}.");

            var weights = (await _withingsService.GetWeights(fromDate)).ToList();

            await _logger.LogMessageAsync($"WEIGHTS : Found {weights.Count()} records.");

            if (weights.Any())
            {
                await _logger.LogMessageAsync($"WEIGHTS : First at {weights.Min(x => x.CreatedDate):dd-MMM-yyyy HH:mm:ss (ddd)} , last at {weights.Max(x => x.CreatedDate):dd-MMM-yyyy HH:mm:ss (ddd)}.");
            }

            await _healthService.UpsertAsync(weights);

            await _logger.LogMessageAsync("WEIGHTS: Finished Importing.");
        }