Esempio n. 1
0
 private void AddInstancesToBag(ArchivalObject archivalObject, ConcurrentBag <Instance> instanceBag, bool includeDigitalObjects = false)
 {
     if (archivalObject.Instances == null || archivalObject.Instances.Count <= 0)
     {
         return;
     }
     foreach (var instance in archivalObject.Instances)
     {
         if (instance.InstanceType != "digital_object")
         {
             instanceBag.Add(instance);
         }
         else if (includeDigitalObjects)
         {
             instanceBag.Add(instance);
         }
     }
 }
Esempio n. 2
0
        private async Task <ICollection <TopContainer> > GetTopContainersForArchivalObjectAsync(ArchivalObject ao)
        {
            var topContainerManager = new ArchivesSpaceTopContainerManager(ArchivesSpaceService);
            var instances           = await GetAllInstancesForIdActionAsync(ao.Id);

            var topContinerIdList =
                instances.Where(x => x.SubContainer.TopContainer.Ref != null)
                .Select(x => x.SubContainer.TopContainer.RefStrippedId).ToList();

            var topContainerList = await topContainerManager.GetTopContainersByIdsAsync(topContinerIdList);

            return(topContainerList);
        }
Esempio n. 3
0
        private async Task <ICollection <TopContainer> > GetTopContainersFromSeriesWithIdentifierAsync(ArchivalObject seriesArchivalObject)
        {
            var resultList          = new List <TopContainer>();
            var topContainerManager = new ArchivesSpaceTopContainerManager(ArchivesSpaceService);

            var initialSearchResult = await topContainerManager.GetTopContainerSeriesSearchAsync(seriesArchivalObject.Uri, true);

            foreach (var searchResult in initialSearchResult.Results)
            {
                resultList.Add(searchResult.ParsedJson);
            }
            return(resultList);
        }