private CombinedBarcodeResponseItem FormatViEntry(VapiBibRecord record, string barcode) { if (record == null) { return(new CombinedBarcodeResponseItem()); } var item = record.items.FirstOrDefault(x => x.barcode == barcode); if (item == null) { return(new CombinedBarcodeResponseItem()); } var tcEntry = new CombinedBarcodeResponseItem { Origin = "Voyager", Author = record.author, BoxNumber = item.itemenum, CallNumber = item.callno, Location = item.locname, ResourceTitle = record.title, ResourceId = record.bibid, Handle = String.Format("http://hdl.handle.net/10079/bibid/{0}", record.bibid), Restriction = item.itemstat, SeriesDivision = item.itemchron, SeriesTitle = "" }; return(tcEntry); }
private async Task <CombinedBarcodeResponseItem> FormatTcEntryAsync(TopContainer container, ArchivesSpaceService activeService) { if (container == null) { return(new CombinedBarcodeResponseItem()); } var location = await GetContainerLocationDisplayString(container, activeService); var resourceManager = new ArchivesSpaceResourceManager(activeService); var resource = await resourceManager.GetResourceByIdAsync(container.Collection.First().RefStrippedId); var hasSeries = container.Series.Count > 0; var seriesDivision = hasSeries ? container.Series.First().Identifier.FormatSeriesDivision() : ""; var seriesTitle = hasSeries ? container.Series.First().DisplayString : ""; var tcEntry = new CombinedBarcodeResponseItem { Origin = "ArchivesSpace", Author = "", BoxNumber = Helpers.FormatBoxText(container.Indicator), CallNumber = Helpers.FormatCallNumber(container.Collection.First().Identifier), Location = location, ResourceTitle = container.Collection.First().DisplayString, ResourceId = container.Collection.First().RefStrippedId, Handle = resource.EadLocation, //This seems to be null pretty often even if EadId (not a URL) is not Restriction = (container.Restricted ? "Y" : "N"), SeriesDivision = seriesDivision, SeriesTitle = seriesTitle }; return(tcEntry); }