/// <summary> /// Initialize all subsystems /// </summary> /// <param name="timeSystem"></param> /// <param name="settings"></param> public Driver(ITimeSystem timeSystem, ISettings settings) { //when reordering, be carefull, in order to pass only initialized objects this.fileManager = new FileManager(settings); this.languageSwitcher = new LanguageSwitcher(settings); //probably all of them should be properties, not fields, in order to automatically update referencies TaskCollection = LifeIdea.LazyCure.Core.Tasks.TaskCollection.Default; this.timeLogsManager = new TimeLogsManager(this.fileManager); HistoryDataProvider = new HistoryDataProvider(timeLogsManager, TaskCollection); this.timeManager = new TimeManager(timeSystem, TimeLogsManager); HistoryDataProvider.CreateSummaries(TimeManager.TimeLog); this.workingTime = new WorkingTimeForDay(TimeManager.TimeLog, TaskCollection); this.efficiencyCalculator = new EfficiencyCalculator(workingTime); ApplySettings(settings); }
public TranslationProcessor(ILanguageSwitcher languageSwitcher, ITextTranslator textTranslator) { _languageSwitcher = languageSwitcher; _textTranslator = textTranslator; _textTranslator.ProgressChanged += Translator_ProgressChanged; }