private static void ProcessReviewNode(BookstoreEntities context, BookstoreDAL bookstoreDAL,
            Book bookToAddReviewsTo, XmlNode reviewNode)
        {
            string reviewAuthorName = GetChildText(reviewNode, "@author");
            string reviewCreationDateString = GetChildText(reviewNode, "@date");
            string reviewText = reviewNode.InnerText.Trim();

            if (string.IsNullOrEmpty(reviewText))
            {
                throw new ArgumentException("Review text cannot be empty.");
            }

            DateTime reviewCreationDate = DateTime.Now;
            if (!string.IsNullOrEmpty(reviewCreationDateString))
            {
                reviewCreationDate = DateTime.Parse(reviewCreationDateString);
            }

            Review newReview = new Review();
            newReview.CreationDate = reviewCreationDate;
            newReview.Text = reviewText;
            newReview.Book = bookToAddReviewsTo;

            if (!string.IsNullOrEmpty(reviewAuthorName))
            {
                newReview.Author = bookstoreDAL.CreateOrLoadAuthor(context, reviewAuthorName);
            }

            context.Reviews.Add(newReview);
            context.SaveChanges();
        }