internal static DM.Journal Build(SM.Journal journal) { if (journal != null) { List <DM.Creator> creators = new List <DM.Creator>(); creators.AddRange(journal.Authors != null ? journal.Authors.Select(x => Build(x, DE.CreatorType.Author)).ToList() : new List <DM.Creator>()); creators.AddRange(journal.Translators != null ? journal.Translators.Select(x => Build(x, DE.CreatorType.Translator)).ToList() : new List <DM.Creator>()); creators.AddRange(journal.ReviewedAuthors != null ? journal.ReviewedAuthors.Select(x => Build(x, DE.CreatorType.ReviewedAuthor)).ToList() : new List <DM.Creator>()); creators.AddRange(journal.Editors != null ? journal.Editors.Select(x => Build(x, DE.CreatorType.Editor)).ToList() : new List <DM.Creator>()); return(new DM.Journal() { TitleFull = journal.TitleFull, TitleShort = journal.TitleShort, Creators = creators, AccessedDate = Build(journal.AccessedDate), IssuedDate = Build(journal.IssuedDate), Abstract = journal.Abstract, Language = journal.Language, Note = journal.Note, URL = journal.URL, ISSN = journal.ISSN, CallNumber = journal.CallNumber, ArchiveName = journal.ArchiveName, ArchiveLocation = journal.ArchiveLocation, ContainerTitleFull = journal.ContainerTitleFull, ContainerTitleShort = journal.ContainerTitleShort, PageNumber = journal.PageNumber, Source = journal.Source, CollectionTitle = journal.CollectionTitle, DOI = journal.DOI, Issue = journal.Issue, Volume = journal.Volume }); } else { return(null); } }
public SM.Citation Journal(SE.Style style, SE.Format format, [FromBody] SM.Journal journal) { return(_citationManager.CreateCitationJournal(style, format, journal)); }
internal SM.Citation CreateCitationJournal(SE.Style style, SE.Format format, SM.Journal journal) { return(ContentItemFactory.Build(_citationProcessor.CreateCitationJournal(ContentItemFactory.Build(style), ContentItemFactory.Build(format), ContentItemFactory.Build(journal)))); }