Exemplo n.º 1
0
        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));
        }
Exemplo n.º 2
0
        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()
            });
        }
Exemplo n.º 3
0
        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();
            }
        }