private void ConfigureTimesheetModules(IRootPathProvider pathProvider) { var configPath = Path.Combine(pathProvider.GetRootPath(), "timesheet.config"); config = new TimesheetConfig(); using (var timesheetStream = new StreamReader(configPath)) { var configXml = new XmlSerializer(typeof(TimesheetConfig)); config = (TimesheetConfig)configXml.Deserialize(timesheetStream); timesheetStream.Close(); } timesheetLog = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments), "Timesheet.log"); timesheetPythonModulesPath = Path.Combine(pathProvider.GetRootPath(), config.Module.Relativepath); estimatedHoursScript = Path.Combine(timesheetPythonModulesPath, config.WeeksFeed.Filename); spreadsheetGeneratorScript = Path.Combine(timesheetPythonModulesPath, config.SpreadsheetGenerator.Filename); timesheetWriterType = config.WriterType.Type ?? string.Empty; }