public ActionResult SheetSelectMetaData(int index) { MetadataStructureManager msm = new MetadataStructureManager(); try { TaskManager = (EasyUploadTaskManager)Session["TaskManager"]; //set current stepinfo based on index if (TaskManager != null) { TaskManager.SetCurrent(index); // remove if existing TaskManager.RemoveExecutedStep(TaskManager.Current()); } SelectMetaDataModel model = new SelectMetaDataModel(); //Load available metadata structures IEnumerable <MetadataStructure> metadataStructureList = msm.Repo.Get(); foreach (MetadataStructure metadataStructure in metadataStructureList) { if (xmlDatasetHelper.IsActive(metadataStructure.Id) && xmlDatasetHelper.HasEntityType(metadataStructure.Id, "bexis.dlm.entities.data.dataset")) { model.AvailableMetadata.Add(new Tuple <long, string>(metadataStructure.Id, metadataStructure.Name)); } } //Sort the metadata structures model.AvailableMetadata.Sort((md1, md2) => md1.Item1.CompareTo(md2.Item1)); //If there's already a selected Metadata schema, load its id into the model if (TaskManager.Bus.ContainsKey(EasyUploadTaskManager.SCHEMA)) { model.SelectedMetaDataId = Convert.ToInt64(TaskManager.Bus[EasyUploadTaskManager.SCHEMA]); } //if the title was changed at some point during the upload, load the title into the model if (TaskManager.Bus.ContainsKey(EasyUploadTaskManager.DESCRIPTIONTITLE)) { model.DescriptionTitle = Convert.ToString(TaskManager.Bus[EasyUploadTaskManager.DESCRIPTIONTITLE]); } //if it wasn't changed yet, the default title is the filename else { model.DescriptionTitle = Convert.ToString(TaskManager.Bus[EasyUploadTaskManager.FILENAME]); } model.StepInfo = TaskManager.Current(); return(PartialView(model)); } finally { msm.Dispose(); } }
public List <ListItem> GetMetadataStructureList() { MetadataStructureManager metadataStructureManager = new MetadataStructureManager(); XmlDatasetHelper xmlDatasetHelper = new XmlDatasetHelper(); try { IEnumerable <MetadataStructure> metadataStructureList = metadataStructureManager.Repo.Get(); List <ListItem> temp = new List <ListItem>(); foreach (MetadataStructure metadataStructure in metadataStructureList) { if (xmlDatasetHelper.IsActive(metadataStructure.Id) && xmlDatasetHelper.HasEntityType(metadataStructure.Id, "BExIS.Emm.Entities.Event.Event")) { string title = metadataStructure.Name; temp.Add(new ListItem(metadataStructure.Id, title)); } } return(temp.OrderBy(p => p.Name).ToList()); } finally { metadataStructureManager.Dispose(); } }
public List <ListViewItem> LoadMetadataStructureViewList() { MetadataStructureManager metadataStructureManager = new MetadataStructureManager(); try { IEnumerable <MetadataStructure> metadataStructureList = metadataStructureManager.Repo.Get(); List <ListViewItem> temp = new List <ListViewItem>(); foreach (MetadataStructure metadataStructure in metadataStructureList) { if (xmlDatasetHelper.IsActive(metadataStructure.Id) && xmlDatasetHelper.HasEntityType(metadataStructure.Id, "bexis.dlm.entities.data.dataset")) { string title = metadataStructure.Name; temp.Add(new ListViewItem(metadataStructure.Id, title, metadataStructure.Description)); } } return(temp.OrderBy(p => p.Title).ToList()); } finally { metadataStructureManager.Dispose(); } }
// GET: CreatePublication public ActionResult Index() { string mulitbleMetadataStructure = Helper.Settings.get("MultibleMetadataStructures").ToString(); if (mulitbleMetadataStructure == "true") { SetupModel model = new SetupModel(); using (MetadataStructureManager metadataStructureManager = new MetadataStructureManager()) { IEnumerable <MetadataStructure> metadataStructureList = metadataStructureManager.Repo.Get(); foreach (MetadataStructure metadataStructure in metadataStructureList) { if (xmlDatasetHelper.IsActive(metadataStructure.Id) && HasEntityTypeName(metadataStructure, "Publication")) { string title = metadataStructure.Name; model.MetadataStructureList.Add(new ViewSelectItem(metadataStructure.Id, title)); } } model.MetadataStructureList.OrderBy(p => p.Title); } return(View("ChooseMetadataStructure", model)); } else { using (var metadataStructureManager = new MetadataStructureManager()) using (var entityManager = new EntityManager()) using (var researchPlanManager = new ResearchPlanManager()) { //get metadatastruture var metadataStructureName = Helper.Settings.get("DefaultMetadataStructure"); var md = metadataStructureManager.Repo.Get(a => a.Name == metadataStructureName.ToString()).FirstOrDefault(); //get entitytype var entityType = entityManager.FindByName("Publication"); if (md != null) { CreateTaskmanager taskManager = new CreateTaskmanager(); taskManager.AddToBus(CreateTaskmanager.METADATASTRUCTURE_ID, md.Id); taskManager.AddToBus(CreateTaskmanager.SAVE_WITH_ERRORS, true); taskManager.AddToBus(CreateTaskmanager.NO_IMPORT_ACTION, true); taskManager.AddToBus(CreateTaskmanager.INFO_ON_TOP_TITLE, "Create Publication"); taskManager.AddToBus(CreateTaskmanager.INFO_ON_TOP_DESCRIPTION, "<p>Here you can enter metadata for your new dataset. The form varies according to the metadata structure you selected in the first step. Mandatory fields are indicated with an red asterisk. You can add, remove, or re - order elements(e.g.multiple Creators) using the buttons at the right.</p>"); // get existing researchPlan string researchPlanName = "Research plan"; ResearchPlan researchPlan = researchPlanManager.Repo.Get(r => researchPlanName.Equals(r.Title)).FirstOrDefault(); taskManager.AddToBus(CreateTaskmanager.RESEARCHPLAN_ID, researchPlan.Id); //create unstructured datastructure DataStructure dataStructure = CreateDataStructure("Publication") as UnStructuredDataStructure; taskManager.AddToBus(CreateTaskmanager.DATASTRUCTURE_ID, dataStructure.Id); HttpContext.Session["CreateDatasetTaskmanager"] = taskManager; setAdditionalFunctions(); var view = this.Render("DCM", "Form", "StartMetadataEditor", new RouteValueDictionary() { }); return(Content(view.ToHtmlString(), "text/html")); } else { return(Content("Metadata structure not exsits")); } } } }
private MetadataStructureModel convertToMetadataStructureModel(MetadataStructure metadataStructure, MetadataStructureManager metadataStructureManager) { MetadataStructureModel metadataStructureModel = new MetadataStructureModel(); metadataStructureModel.Id = metadataStructure.Id; metadataStructureModel.Name = metadataStructure.Name; try { metadataStructureModel.MetadataNodes = GetAllXPath(metadataStructure.Id); //get all informaions from xml metadataStructureModel.EntityClasses = GetEntityModelList(); string EntityClassName = xmlDatasetHelper.GetEntityNameFromMetadatStructure(metadataStructure.Id, metadataStructureManager); var entityModel = metadataStructureModel.EntityClasses.Where(e => e.Name.Equals(EntityClassName)) .FirstOrDefault(); if (entityModel != null) { metadataStructureModel.Entity = entityModel; } string xpath = xmlDatasetHelper.GetInformationPath(metadataStructure.Id, NameAttributeValues.title); var searchMetadataNode = metadataStructureModel.MetadataNodes.Where(e => e.XPath.Equals(xpath)).FirstOrDefault(); if (searchMetadataNode != null) { metadataStructureModel.TitleNode = searchMetadataNode.DisplayName; } xpath = xmlDatasetHelper.GetInformationPath(metadataStructure.Id, NameAttributeValues.description); //check if xsd exist string schemapath = Path.Combine(AppConfiguration.GetModuleWorkspacePath("DCM"), "Metadata", metadataStructure.Name); if (Directory.Exists(schemapath) && Directory.GetFiles(schemapath).Length > 0) { metadataStructureModel.HasSchema = true; } var firstOrDefault = metadataStructureModel.MetadataNodes.Where(e => e.XPath.Equals(xpath)).FirstOrDefault(); if (firstOrDefault != null) { metadataStructureModel.DescriptionNode = firstOrDefault.DisplayName; } metadataStructureModel.MetadataNodes = GetAllXPath(metadataStructureModel.Id); metadataStructureModel.Active = xmlDatasetHelper.IsActive(metadataStructure.Id); } catch (Exception exception) { metadataStructureModel = new MetadataStructureModel(); metadataStructureModel.Id = metadataStructure.Id; metadataStructureModel.Name = metadataStructure.Name; } return(metadataStructureModel); }