//[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)); }
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."); }