public GetReviewsByPeriod ( System.DateTime starDate, System.DateTime endDate ) : IEnumerable |
||
starDate | System.DateTime | |
endDate | System.DateTime | |
return | IEnumerable |
public IEnumerable<FoundReviewTransferObject> GetReviewsByPeriod(DateTime starDate, DateTime endDate)
{
BookstoreEntities context = new BookstoreEntities();
var reviewsInPeriod = context.Reviews.Include("Book").Include("Book.Authors")
.Where(r => r.DateOfCreation.CompareTo(starDate) >= 0 &&
r.DateOfCreation.CompareTo(endDate) <= 0)
.OrderBy(r => r.DateOfCreation).ThenBy(r => r.Content);
IList<FoundReviewTransferObject> reviewsFound = new List<FoundReviewTransferObject>();
DeserializeFoundReviews(reviewsInPeriod, reviewsFound);
return reviewsFound;
}
static void WriteResultSet(XmlTextWriter writer, ReviewsDAO reviewsDao, XmlNode queryNode) { IEnumerable<FoundReviewTransferObject> foundReviews = null; string searchType = queryNode.Attributes["type"].InnerText; if (searchType == "by-period") { DateTime startDate = DateTime.Parse( queryNode.SelectSingleNode("start-date").InnerXml); DateTime endDate = DateTime.Parse( queryNode.SelectSingleNode("end-date").InnerXml); foundReviews = reviewsDao.GetReviewsByPeriod(startDate, endDate); } else if (searchType == "by-author") { string authorName = queryNode.SelectSingleNode("author-name") .InnerXml.Trim().ToLower(); foundReviews = reviewsDao.GetReviewsByAuthorName(authorName); } else { return; } writer.WriteStartElement("result-set"); if (foundReviews != null) { foreach (var review in foundReviews) { WriteFoundReview(writer, review); } } writer.WriteEndElement(); }