internal static DM.Encyclopedia Build(SM.Encyclopedia encyclopedia) { if (encyclopedia != null) { List <DM.Creator> creators = new List <DM.Creator>(); creators.AddRange(encyclopedia.Authors != null ? encyclopedia.Authors.Select(x => Build(x, DE.CreatorType.Author)).ToList() : new List <DM.Creator>()); creators.AddRange(encyclopedia.Translators != null ? encyclopedia.Translators.Select(x => Build(x, DE.CreatorType.Translator)).ToList() : new List <DM.Creator>()); creators.AddRange(encyclopedia.Editors != null ? encyclopedia.Editors.Select(x => Build(x, DE.CreatorType.Editor)).ToList() : new List <DM.Creator>()); creators.AddRange(encyclopedia.CollectionEditors != null ? encyclopedia.CollectionEditors.Select(x => Build(x, DE.CreatorType.CollectionEditor)).ToList() : new List <DM.Creator>()); return(new DM.Encyclopedia() { TitleFull = encyclopedia.TitleFull, TitleShort = encyclopedia.TitleShort, Creators = creators, AccessedDate = Build(encyclopedia.AccessedDate), IssuedDate = Build(encyclopedia.IssuedDate), Abstract = encyclopedia.Abstract, Language = encyclopedia.Language, Note = encyclopedia.Note, URL = encyclopedia.URL, PublisherName = encyclopedia.PublisherName, PublisherLocation = encyclopedia.PublisherLocation, ISBN = encyclopedia.ISBN, CallNumber = encyclopedia.CallNumber, ArchiveName = encyclopedia.ArchiveName, ArchiveLocation = encyclopedia.ArchiveLocation, CollectionTitle = encyclopedia.CollectionTitle, CollectionNumber = encyclopedia.CollectionNumber, ContainerTitle = encyclopedia.ContainerTitle, PageNumber = encyclopedia.PageNumber, Edition = encyclopedia.Edition, VolumeNumber = encyclopedia.VolumeNumber, VolumeCount = encyclopedia.VolumeCount, Source = encyclopedia.Source, EventPlace = encyclopedia.EventPlace }); } else { return(null); } }
public SM.Citation Encyclopedia(SE.Style style, SE.Format format, [FromBody] SM.Encyclopedia encyclopedia) { return(_citationManager.CreateCitationEncyclopedia(style, format, encyclopedia)); }
internal SM.Citation CreateCitationEncyclopedia(SE.Style style, SE.Format format, SM.Encyclopedia encyclopedia) { return(ContentItemFactory.Build(_citationProcessor.CreateCitationEncyclopedia(ContentItemFactory.Build(style), ContentItemFactory.Build(format), ContentItemFactory.Build(encyclopedia)))); }