private void CreateBase(PublicationBase publication) { _formatter.AppendAuthors(GetAuthors(publication)); _formatter.AppendTitle(publication.Title); _formatter.AppendPublicationDate(publication.PublicationDate); _formatter.AppendIsOnWOS(publication.IsOnWOS); }
public string Create(PublicationBase publication) { if (publication is Book) { return(CreateBook((Book)publication)); } if (publication is Dataset) { return(CreateDataset((Dataset)publication)); } if (publication is ConferencePaper) { return(CreateConferencePaper((ConferencePaper)publication)); } if (publication is Patent) { return(CreatePatent((Patent)publication)); } if (publication is TechnicalReport) { return(CreateTechnicalReport((TechnicalReport)publication)); } if (publication is Thesis) { return(CreateThesis((Thesis)publication)); } if (publication is Article) { return(CreateArticle((Article)publication)); } throw new ArgumentException("Argument publication is not valid!"); }
protected static IList <string> GetAuthors(PublicationBase publication) { return(publication.Employees .Select(employee => string.Format("{0} {1}", employee.FirstName, employee.LastName)) .ToList()); }
protected static IEnumerable <string> GetAuthorsLastNames(PublicationBase publication) { return(publication.Employees .Select(employee => employee.LastName) .ToList()); }