public async Task <IActionResult> Diary(string babyName, string inputDate) { var date = DateTime.Now; if (!string.IsNullOrEmpty(inputDate)) { date = DateTime.Parse(inputDate); } var entries = await _sqLiteService.GetEntriesFromDb(date, User, babyName); var importResultModel = new ImportResultModel { Entries = entries }; var model = DiaryService.GetDays(importResultModel); model.Date = date.ToString("yyyy-MM-dd"); model.DateNext = date.AddDays(1).ToString("yyyy-MM-dd"); model.DatePrevious = date.AddDays(-1).ToString("yyyy-MM-dd"); model.BabyName = babyName; model.Profile = await _accountService.GetProfile(User); var memories = await _sqLiteService.GetMemoriesFromDb(DateTime.Now, User, babyName); model.MemoriesBadgeCount = memories.Count; model.ShowMemoriesLink = true; ViewData["LastEntry"] = await _sqLiteService.GetLastEntryDateTime(User, babyName); return(View("Diary", model)); }
public async Task SendMemoriesEmail() { var users = await _accountService.SearchUsersWithEnableMemoriesEmail(); if (users?.Any() != true) { return; } foreach (var user in users) { var shortUserId = AccountService.GetUserId(user.UserId); var babies = _sqLiteService.GetBabiesFromDb(shortUserId); foreach (var baby in babies) { var memories = _sqLiteService.GetMemoriesFromDb(DateTime.Now, shortUserId, baby.BabyName); _logger.LogInformation($"Found {memories.Count} memories for {baby.BabyName}"); if (memories.Count > 0) { await SendEmail(memories, user, shortUserId, baby.BabyName); } } } }