Exemple #1
0
        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);
                }
            });
        }
Exemple #2
0
        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);
        }