public void Should_Check_Customer_Mappings_Successfully() { using (IUnitOfWork unitOfWork = new UnitOfWork(Singleton.SessionFactoryProvider)) { unitOfWork.BeginTransaction(); new PersistenceSpecification<Customer>(unitOfWork.Session) .CheckProperty(f => f.Name, Singleton.TestDataProvider.ProvideRandomString(50)) .CheckProperty(f => f.Code, Singleton.TestDataProvider.ProvideRandomString(10)) .CheckProperty(f => f.Type, CustomerType.NeedBasedCustomers) .CheckProperty(f => f.DeletedOn, null) .CheckProperty(f => f.CreatedOn, Singleton.TestDataProvider.ProvideRandomDateTime()) .VerifyTheMappings(); } }
public void Should_Check_Agreement_Mappings_Successfully() { using (IUnitOfWork unitOfWork = new UnitOfWork(Singleton.SessionFactoryProvider)) { unitOfWork.BeginTransaction(); Customer customer = Singleton.TestDataProvider.CreateNewRandomCustomer(); unitOfWork.Session.SaveOrUpdate(customer); new PersistenceSpecification<Agreement>(unitOfWork.Session) .CheckProperty(f => f.Number, Singleton.TestDataProvider.ProvideRandomString(20)) .CheckProperty(f => f.DeletedOn, null) .CheckProperty(f => f.CreatedOn, Singleton.TestDataProvider.ProvideRandomDateTime()) .CheckReference(f => f.Customer, customer) .VerifyTheMappings(); } }
public void Should_Use_Two_Transactions_In_One_TransactionScope() { string test_name = Guid.NewGuid().ToString(); using (IUnitOfWork unitOfWork = new UnitOfWork(Singleton.SessionFactoryProvider)) { ICustomerRepository customerRepository = new CustomerRepository(unitOfWork); var customer = customerRepository.AsQueryable(f => f.Name == test_name).FirstOrDefault(); Assert.IsNull(customer); } using (new TransactionScope(TransactionScopeOption.Required)) { using (IUnitOfWork unitOfWork = new UnitOfWork(Singleton.SessionFactoryProvider)) { unitOfWork.BeginTransaction(); ICustomerRepository customerRepository = new CustomerRepository(unitOfWork); customerRepository.Save( new Customer { Code = "test_code", Name = test_name, Type = CustomerType.LoyalCustomers, CreatedOn = DateTime.Now, DeletedOn = null }); unitOfWork.Commit(); } using (IUnitOfWork unitOfWork = new UnitOfWork(Singleton.SessionFactoryProvider)) { unitOfWork.BeginTransaction(); ICustomerRepository customerRepository = new CustomerRepository(unitOfWork); var customer = customerRepository.AsQueryable(f => f.Name == test_name).FirstOrDefault(); Assert.IsNotNull(customer); unitOfWork.Commit(); } } }
private void CreateCustomer(string name) { using (IUnitOfWork unitOfWork = new UnitOfWork(Singleton.SessionFactoryProvider)) { unitOfWork.BeginTransaction(); ICustomerRepository customerRepository = new CustomerRepository(unitOfWork); customerRepository.Save( new Customer { Code = "test_code", Name = name, Type = CustomerType.LoyalCustomers, CreatedOn = DateTime.Now, DeletedOn = null }); unitOfWork.Commit(); } }
public void Should_Get_Agreement_By_Customer_Type_Successfully() { using (IUnitOfWork unitOfWork = new UnitOfWork(Singleton.SessionFactoryProvider)) { unitOfWork.BeginTransaction(); var customer = Singleton.TestDataProvider.CreateNewRandomCustomer(); customer.Type = CustomerType.ImpulseCustomers; unitOfWork.Session.SaveOrUpdate(customer); var agreement = Singleton.TestDataProvider.CreateNewRandomAgreementForCustomer(customer); unitOfWork.Session.SaveOrUpdate(agreement); unitOfWork.Session.Flush(); IAgreementRepository agreementRepository = new AgreementRepository(unitOfWork); var list = agreementRepository.GetAgreementsByCustomerType(CustomerType.ImpulseCustomers); Assert.IsNotNull(list); Assert.IsTrue(list.Contains(agreement)); } }