public void Extract(ProjectSettings projectSettings) { ProjectData projectData = Extractor.Extract((IExtractorContext context) => { string[] assemblyFileNames = projectSettings.IncludedAssemblies.Split(new string[] { System.Environment.NewLine }, StringSplitOptions.RemoveEmptyEntries); string[] xmlFileNames = projectSettings.IncludedXmlFiles.Split(new string[] { System.Environment.NewLine }, StringSplitOptions.RemoveEmptyEntries); foreach (string assemblyFileName in assemblyFileNames) context.AddAssembly(assemblyFileName); foreach (string xmlFileName in xmlFileNames) context.AddXmlFile(xmlFileName); }); projectData.ProjectName = projectSettings.Project.Name; ProjectUpdaterProvider.UpdateProject(projectSettings.Project, (updater) => { ExtractorData extractorData = new ExtractorData(projectData, projectSettings.Project, updater); foreach (var typeData in projectData.AllTypes.Values) { doCS.Models.Type type = GetOrCreateType(typeData, extractorData); } }); }
public ActionResult Edit(ProjectEdit projectEdit) { if (ModelState.IsValid) { using (var transaction = DbSession.BeginTransaction()) { ProjectSettings projectSettings = null; if (projectEdit.Id.HasValue) projectSettings = DbSession.Get<ProjectSettings>(projectEdit.Id.Value); else projectSettings = new ProjectSettings() { Project = new Project() }; projectSettings.IncludedAssemblies = projectEdit.IncludedAssemblies ?? ""; projectSettings.IncludedXmlFiles = projectEdit.IncludedXmlFiles ?? ""; projectSettings.Project.Name = projectEdit.Name ?? ""; projectSettings.Project.Version = ""; DbSession.Persist(projectSettings); transaction.Commit(); return RedirectToAction("List"); } } return View(projectEdit); }