static async Task Main() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); // Initialize needed classes. dataProvider = InitializeDataprovider(); notificationService = InitializeNotification(); notificationConstants = new NotificationConstants(); tasksManager = InitializeTasksManager(dataProvider, notificationService, notificationConstants); // get all tasks. ITaskGroup tasks = tasksManager.GetAllTasks(); //Get current date and save if its new day. dayFollower = InitializeDayFollower(dataProvider); await dayFollower.SetNewDay(); //! Change var timer = new System.Threading.Timer( async e => await dayFollower.SetNewDay(), null, TimeSpan.Zero, TimeSpan.FromMinutes(30)); // start the check list view. Application.Run(new CheckListApp(tasksManager, tasks)); }
public TasksManager(IDataSourceConfiguration dataSourceConfiguration, IDataProviderBase dataProvider, INotificationType messageService, NotificationConstants notificationConstants) { this.dataSourceConfiguration = dataSourceConfiguration; this.dataProvider = dataProvider; this.notificationService = messageService; this.notificationConstants = notificationConstants; }
static TasksManager InitializeTasksManager(IDataProviderBase dataProvider, INotificationType messageService, NotificationConstants notificationConstants) { string folderName = ConfigurationManager.AppSettings.Get("FileFolder"); string fileName = ConfigurationManager.AppSettings.Get("TasksFileName"); //string fileName = ConfigurationManager.AppSettings.Get("DayCoveredFileName"); return(new TasksManager( new DataSourceConfiguration(new DataSourceFileConfiguration($"{folderName}\\{fileName}")), dataProvider, messageService, notificationConstants )); }