internal static DM.AudioRecording Build(SM.AudioRecording audioRecording) { if (audioRecording != null) { List <DM.Creator> creators = new List <DM.Creator>(); creators.AddRange(audioRecording.Authors != null ? audioRecording.Authors.Select(x => Build(x, DE.CreatorType.Author)).ToList() : new List <DM.Creator>()); creators.AddRange(audioRecording.Translators != null ? audioRecording.Translators.Select(x => Build(x, DE.CreatorType.Translator)).ToList() : new List <DM.Creator>()); creators.AddRange(audioRecording.Composers != null ? audioRecording.Composers.Select(x => Build(x, DE.CreatorType.Composer)).ToList() : new List <DM.Creator>()); return(new DM.AudioRecording() { TitleFull = audioRecording.TitleFull, TitleShort = audioRecording.TitleShort, Creators = creators, AccessedDate = Build(audioRecording.AccessedDate), IssuedDate = Build(audioRecording.IssuedDate), Abstract = audioRecording.Abstract, Language = audioRecording.Language, Note = audioRecording.Note, URL = audioRecording.URL, ArchiveName = audioRecording.ArchiveName, ArchiveLocation = audioRecording.ArchiveLocation, CallNumber = audioRecording.CallNumber, Dimensions = audioRecording.Dimensions, Medium = audioRecording.Medium, Source = audioRecording.Source, CollectionTitle = audioRecording.CollectionTitle, EventPlace = audioRecording.EventPlace, ISBN = audioRecording.ISBN, VolumeNumber = audioRecording.VolumeNumber, VolumeCount = audioRecording.VolumeCount, PublisherName = audioRecording.PublisherName, PublisherLocation = audioRecording.PublisherLocation }); } else { return(null); } }
public SM.Citation AudioRecording(SE.Style style, SE.Format format, [FromBody] SM.AudioRecording audioRecording) { return(_citationManager.CreateCitationAudioRecording(style, format, audioRecording)); }
internal SM.Citation CreateCitationAudioRecording(SE.Style style, SE.Format format, SM.AudioRecording audioRecording) { return(ContentItemFactory.Build(_citationProcessor.CreateCitationAudioRecording(ContentItemFactory.Build(style), ContentItemFactory.Build(format), ContentItemFactory.Build(audioRecording)))); }