public ActionResult ShowData(uint id) { var mongo = new MongoDataContext(id); var model = new ShowDataModel { ID = id, TblID = mongo.Table.ID, Title = mongo.Table.FullInfo, Fields = mongo.GetFields() }; return(View(model)); }
public Show Map(ShowDataModel showItemDataModel) { if (showItemDataModel == null) { return(null); } var show = new Show { ApiId = showItemDataModel.Id, Name = showItemDataModel.Name }; return(new Show { ApiId = showItemDataModel.Id, Name = showItemDataModel.Name, ShowToCasts = showItemDataModel.Embedded.Cast.Select(x => Map(show, Map(x))).ToList() }); }
public ActionResult ShowData(long id) { DatasetManager dm = new DatasetManager(); EntityPermissionManager entityPermissionManager = new EntityPermissionManager(); try { DatasetVersion dsv; ShowDataModel model = new ShowDataModel(); string title = ""; long metadataStructureId = -1; long dataStructureId = -1; long researchPlanId = 1; XmlDocument metadata = new XmlDocument(); if (dm.IsDatasetCheckedIn(id)) { long versionId = dm.GetDatasetLatestVersionId(id); // check for zero value dsv = dm.DatasetVersionRepo.Get(versionId); // this is needed to allow dsv to access to an open session that is available via the repo metadataStructureId = dsv.Dataset.MetadataStructure.Id; //MetadataStructureManager msm = new MetadataStructureManager(); //dsv.Dataset.MetadataStructure = msm.Repo.Get(dsv.Dataset.MetadataStructure.Id); title = xmlDatasetHelper.GetInformationFromVersion(dsv.Id, NameAttributeValues.title); // this function only needs metadata and extra fields, there is no need to pass the version to it. dataStructureId = dsv.Dataset.DataStructure.Id; researchPlanId = dsv.Dataset.ResearchPlan.Id; metadata = dsv.Metadata; ViewBag.Title = PresentationModel.GetViewTitleForTenant("Show Data : " + title, this.Session.GetTenant()); } else { ModelState.AddModelError(string.Empty, "Dataset is just in processing."); } model = new ShowDataModel() { Id = id, Title = title, MetadataStructureId = metadataStructureId, DataStructureId = dataStructureId, ResearchPlanId = researchPlanId, ViewAccess = entityPermissionManager.HasEffectiveRight(HttpContext.User.Identity.Name, "Dataset", typeof(Dataset), id, RightType.Read), GrantAccess = entityPermissionManager.HasEffectiveRight(HttpContext.User.Identity.Name, "Dataset", typeof(Dataset), id, RightType.Grant) }; //set metadata in session Session["ShowDataMetadata"] = metadata; return(View(model)); } finally { dm.Dispose(); entityPermissionManager.Dispose(); } }
//copy of BExIS.Modules.Ddm.UI.Controllers.DataController.ShowData (adapted) public ActionResult Index(long id, int version = 0) { DatasetManager dm = new DatasetManager(); EntityPermissionManager entityPermissionManager = new EntityPermissionManager(); try { DatasetVersion dsv; ShowDataModel model = new ShowDataModel(); string title = ""; long metadataStructureId = -1; long dataStructureId = -1; long researchPlanId = 1; long versionId = 0; string dataStructureType = DataStructureType.Structured.ToString(); bool downloadAccess = false; bool requestExist = false; bool requestAble = false; bool latestVersion = false; string isValid = "no"; XmlDocument metadata = new XmlDocument(); if (dm.IsDatasetCheckedIn(id)) { //get latest version if (version == 0) { versionId = dm.GetDatasetLatestVersionId(id); // check for zero value //get current version number version = dm.GetDatasetVersions(id).OrderBy(d => d.Timestamp).Count(); latestVersion = true; } // get specific version else { versionId = dm.GetDatasetVersions(id).OrderBy(d => d.Timestamp).Skip(version - 1).Take(1).Select(d => d.Id).FirstOrDefault(); latestVersion = versionId == dm.GetDatasetLatestVersionId(id); } dsv = dm.DatasetVersionRepo.Get(versionId); // this is needed to allow dsv to access to an open session that is available via the repo if (dsv.StateInfo != null) { isValid = DatasetStateInfo.Valid.ToString().Equals(dsv.StateInfo.State) ? "yes" : "no"; } metadataStructureId = dsv.Dataset.MetadataStructure.Id; //MetadataStructureManager msm = new MetadataStructureManager(); //dsv.Dataset.MetadataStructure = msm.Repo.Get(dsv.Dataset.MetadataStructure.Id); title = dsv.Title; dataStructureId = dsv.Dataset.DataStructure.Id; researchPlanId = dsv.Dataset.ResearchPlan.Id; metadata = dsv.Metadata; // check if the user has download rights downloadAccess = entityPermissionManager.HasEffectiveRight(HttpContext.User.Identity.Name, typeof(Dataset), id, RightType.Read); //// check if a reuqest of this dataset exist //if (!downloadAccess) //{ // requestExist = HasOpenRequest(id); // if (UserExist() && HasRequestMapping(id)) requestAble = true; //} dataStructureType = DataStructureType.Unstructured.ToString(); ViewBag.Title = PresentationModel.GetViewTitleForTenant("Show Data : " + title, this.Session.GetTenant()); } else { ModelState.AddModelError(string.Empty, "Publication is just in processing."); } model = new ShowDataModel() { Id = id, Version = version, VersionSelect = version, VersionId = versionId, LatestVersion = latestVersion, Title = title, MetadataStructureId = metadataStructureId, DataStructureId = dataStructureId, ResearchPlanId = researchPlanId, ViewAccess = entityPermissionManager.HasEffectiveRight(HttpContext.User.Identity.Name, typeof(Dataset), id, RightType.Read), GrantAccess = entityPermissionManager.HasEffectiveRight(HttpContext.User.Identity.Name, typeof(Dataset), id, RightType.Grant), DataStructureType = dataStructureType, DownloadAccess = downloadAccess, RequestExist = requestExist, RequestAble = requestAble }; //set metadata in session Session["ShowDataMetadata"] = metadata; ViewData["VersionSelect"] = getVersionsSelectList(id, dm); ViewData["isValid"] = isValid; return(View(model)); } finally { dm.Dispose(); entityPermissionManager.Dispose(); } }