public App() { InitializeComponent(); //Database connections LocalDbConnection = new LocalDbConnection(Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData), "PlantAlarmSQLite.db3")); string localFolderUrl = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData), "PlantPhotos"); if (!Directory.Exists(localFolderUrl)) { Directory.CreateDirectory(localFolderUrl); } //OPTIONAL - recreate all activites for each task - just for testing purposes //_ = this.RecrateAllActivities(); //Create missing activities _ = PlantActivityService.CreateAllMissingActivitiesForNext60Days(); if (NotificationService.ShouldCarryForgottenTasksForward()) { _ = PlantActivityService.MoveForgottenTasksForward(); } if (Application.Current.Properties.TryGetValue(NotificationService.kNotificationTime, out object sNotiTime)) { TimeSpan?notiTime = TimeSpan.TryParse(sNotiTime.ToString(), out TimeSpan _notiTime) ? _notiTime : (TimeSpan?)null; _ = NotificationService.AddDailyNotifications(notiTime); } MainPage = new AppShell(); }
private async Task RecrateAllActivities() { var tasks = PlantActivityService.GetAllTasks(); foreach (var task in tasks) { await PlantActivityService.AddActivitiesFromTaskAsync(task, DateTime.Today); } }