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