private void DeserializeFoundReviews(IOrderedQueryable<Review> reviewsInPeriod, IList<FoundReviewTransferObject> reviewsFound) { foreach (Review review in reviewsInPeriod) { FoundReviewTransferObject foundReview = new FoundReviewTransferObject(); foundReview.Date = review.DateOfCreation; foundReview.Content = review.Content; foundReview.BookTitle = review.Book.Title; foundReview.BookIsbn = review.Book.ISBN; foundReview.BookUrl = review.Book.WebSite; if (review.Book.Authors.Count != 0) { var authorNames = review.Book.Authors .OrderBy(a => a.Name).Select(a => a.Name); foundReview.BookAuthors = string.Join(", ", authorNames); } reviewsFound.Add(foundReview); } }
static void WriteFoundReview(XmlTextWriter writer, FoundReviewTransferObject review) { writer.WriteStartElement("review"); if (review.Date != null) { writer.WriteElementString("date", review.Date.Value.ToString(DateFormat)); } writer.WriteElementString("content", review.Content); writer.WriteStartElement("book"); writer.WriteElementString("title", review.BookTitle); if (review.BookAuthors != null) { writer.WriteElementString("authors", review.BookAuthors); } if (review.BookIsbn != null) { writer.WriteElementString("isbn", review.BookIsbn); } if (review.BookUrl != null) { writer.WriteElementString("url", review.BookUrl); } writer.WriteEndElement(); writer.WriteEndElement(); }