Example #1
0
        public void Test_Simple_Mapping_ProductReview()
        {
            var product = new Product
            {
                Name = "Product1",
                ShortDescription = "show",
                FullDescription = "full",
                UtcCreationDate = DateTime.UtcNow,
                UtcUpdateDate = DateTime.UtcNow
            };
            var productReview = new ProductReview
            {
                Title = "review1",
                Product = product,
                UtcCreationDate = DateTime.UtcNow,
                UtcUpdateDate = DateTime.UtcNow
            };
            using (ISession session = MySessionFactory.OpenSession())
            {
                ITransaction transaction = session.BeginTransaction();
                session.Save(product);
                session.Save(productReview);
                transaction.Commit();
            }
            var productReview1 = MySessionFactory.OpenSession().Query<ProductReview>()
                .Where(it => it.Id == productReview.Id)
                .FirstOrDefault();
            Assert.AreEqual(productReview.Id, productReview1.Id);
            Assert.AreEqual(product.Id, productReview1.Product.Id);

            var product1 = MySessionFactory.OpenSession().Query<Product>()
                .Where(it => it.Id == product.Id)
                .FirstOrDefault();
            Assert.AreEqual(1, product1.ProductReviews.Count);
        }
        public void Test_Add_QueryById_Update_Delete_ProductReviewProvider()
        {
            var product = new Product
            {
                Name = "Product1",
                ShortDescription = "show",
                FullDescription = "full",
                UtcCreationDate = DateTime.UtcNow,
                UtcUpdateDate = DateTime.UtcNow
            };
            var productReview = new ProductReview
            {
                Title = "review1",
                Product = product,
                UtcCreationDate=DateTime.UtcNow,
                UtcUpdateDate=DateTime.UtcNow
            };

            //Add brand
            new ProductProvider(new NoDI_NHibernateContextFactory()).Add(product);
            provider.Add(productReview);
            Console.WriteLine("Add OK!");

            //QueryBy
            var productReviewQueryBy = provider.QueryById(productReview.Id);
            Assert.IsNotNull(productReviewQueryBy);
            Console.WriteLine("QueryBy OK!");

            //update
            productReview.Title = "review";
            provider.Update(productReview);
            var productReviewUpdate = provider.QueryById(productReview.Id);
            Assert.AreEqual("review", productReviewUpdate.Title);
            Console.WriteLine("Update OK!");

            //Delete
            provider.Delete(productReview);
            var productReviewDelete = provider.QueryById(productReview.Id);
            Assert.IsNull(productReviewDelete);
            Console.WriteLine("Delete OK!");
        }