public ProjectSession(string templatesPath, ProjectTaskTemplatesLoader projectTaskTemplatesLoader, ProjectTaskTemplatesPersister projectTaskTemplatesPersister, ProjectScopeLoader projectScopeLoader, ProjectScopePersister projectScopePersister, ProjectTaskTemplates projectTaskTemplates, ProjectScope projectScope) { TemplatesPath = templatesPath; ProjectTaskTemplatesLoader = projectTaskTemplatesLoader; ProjectTaskTemplatesPersister = projectTaskTemplatesPersister; ProjectScopeLoader = projectScopeLoader; ProjectScopePersister = projectScopePersister; ProjectTaskTemplates = projectTaskTemplates; ProjectScope = projectScope; }
static void Main() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); var configurationDirectory = Path.Combine(Environment.GetFolderPath( Environment.SpecialFolder.ApplicationData), "Guesstimate"); var taskTemplatesPath = Path.Combine(configurationDirectory, "task_templates.json"); var projectTaskTemplatesLoader = new ProjectTaskTemplatesLoader(); var taskTemplates = projectTaskTemplatesLoader.LoadTemplates(taskTemplatesPath); var templatePersister = new ProjectTaskTemplatesPersister(); templatePersister.PersistTemplates(taskTemplates, taskTemplatesPath); var session = new ProjectSession(taskTemplatesPath, projectTaskTemplatesLoader, templatePersister, new ProjectScopeLoader(), new ProjectScopePersister(), taskTemplates, new ProjectScope()); Application.Run(new ProjectEstimateForm(session)); }