Ejemplo n.º 1
0
        public static void InitializeTaskModel(ScriptedTaskModel model, Guid id, IScriptedTask task, ApplicationDbContext db)
        {
            model.Task = task;

            var file = db.Files
                       .Where(x => x.Id == id)
                       .Include(x => x.CatalogRecord)
                       .Include(x => x.CatalogRecord.Organization)
                       .FirstOrDefault();

            model.CatalogRecordId    = file.CatalogRecord.Id;
            model.CatalogRecordTitle = file.CatalogRecord.Title;
            model.File   = file;
            model.FileId = file.Id;

            var record = file.CatalogRecord;

            // The file with the given ID is the primary file for this task.
            model.PrimaryFiles.Add(new FileViewModel(file));

            // Add all the other files, too, for reference.
            foreach (var x in record.Files.Where(x => x.Status != FileStatus.Removed))
            {
                model.AllFiles.Add(new FileViewModel(x));
            }
        }
        public ActionResult Details(Guid id)
        {
            using (var db = ApplicationDbContext.Create())
            {
                var model = new ScriptedTaskModel();
                TaskHelpers.InitializeTaskModel(model, id, this.task, db);

                if (!model.File.CatalogRecord.Curators.Any(x => x.UserName == User.Identity.Name))
                {
                    throw new HttpException(403, "Only curators may perform this task.");
                }

                model.IsUserCurator = true;

                // Add information about the variables.
                try
                {
                    var variablesModel = FileToVariableEditorMapper.GetModelFromFile(model.File);
                    model.VariablesJson = JsonConvert.SerializeObject(variablesModel.Variables);

                    return(View("~/Areas/Ddi/Views/CheckForIdentifiableInformation/Details.cshtml", model));
                }
                catch (Exception ex)
                {
                    return(View("~/Areas/Ddi/Views/CheckForIdentifiableInformation/Details.cshtml", model));
                }
            }
        }
Ejemplo n.º 3
0
        public ActionResult Details(Guid id)
        {
            using (var db = ApplicationDbContext.Create())
            {
                var model = new ScriptedTaskModel();
                TaskHelpers.InitializeTaskModel(model, id, this.task, db);

                if (!model.File.CatalogRecord.Curators.Any(x => x.UserName == User.Identity.Name))
                {
                    throw new HttpException(403, "Only curators may perform this task.");
                }

                model.IsUserCurator = true;

                return(View("~/Areas/Ddi/Views/ConfirmCodeExecutes/Details.cshtml", model));
            }
        }
        public ActionResult Details(Guid id)
        {
            using (var db = ApplicationDbContext.Create())
            {
                var model = new ScriptedTaskModel();
                TaskHelpers.InitializeTaskModel(model, id, this.task, db);

                if (!model.File.CatalogRecord.Curators.Any(x => x.UserName == User.Identity.Name))
                {
                    throw new HttpException(403, "Only curators may perform this task.");
                }

                model.IsUserCurator = true;

                // Add information for the observation count.
                try
                {
                    // Get the DDI PhysicalInstance that corresponds to this ManagedFile.
                    var client           = RepositoryHelper.GetClient();
                    var physicalInstance = client.GetLatestItem(
                        model.File.Id,
                        model.File.CatalogRecord.Organization.AgencyID) as PhysicalInstance;

                    if (physicalInstance.FileStructure != null &&
                        physicalInstance.FileStructure.CaseQuantity.HasValue)
                    {
                        model.ObservationCount = physicalInstance.FileStructure.CaseQuantity.Value;
                    }

                    return(View("~/Areas/Ddi/Views/CheckObservationCount/Details.cshtml", model));
                }
                catch (Exception ex)
                {
                    return(View("~/Areas/Ddi/Views/CheckObservationCount/Details.cshtml", model));
                }
            }
        }