public void TestCommit_SimpleInsertion() { IRepository <Customer> repository = _manager.GetRepository <Customer>(); GetCustomerByCivilStatusQuery.Criteria criteriaByStatus = GetCustomerByCivilStatusQuery.Criteria.SearchByStatus(GetCustomerByCivilStatusQuery.CivilStatus.Married); GetCustomerByIdQuery.Criteria criteriaById = GetCustomerByIdQuery.Criteria.SearchById(2); List <Customer> customerResults = new List <Customer>(); IUnitOfWork uow = new UnitOfWork(); customerResults.AddRange(repository.Matching(criteriaByStatus)); customerResults.AddRange(repository.Matching(criteriaById)); IBaseMapper mapper = DataSynchronizationManager.GetInstance().GetMapper <Customer>(); Customer customer1 = new Customer(mapper) { Number = "1" }; Customer customer2 = new Customer(mapper) { Number = "2" }; Customer customer3 = new Customer(mapper) { Number = "3" }; //Sequence of observation affects commit order uow.RegisterNew(customer1); uow.RegisterNew(customer3); uow.RegisterNew(customer2); IList <string> sequenceDescription = new List <string>(); uow.Commit( (domainObject, action, results) => { string description = ((results != null) && (results[CustomerMapper.SUCCESS_DESCRIPTION] != null)) ? (string)results[CustomerMapper.SUCCESS_DESCRIPTION] : string.Empty; sequenceDescription.Add(string.Format("{0}={1}={2}", description, action.ToString(), domainObject.Mapper.GetEntityTypeName())); }, (domainObject, action, results) => { } ); Assert.AreEqual("1=Insert=Customer", sequenceDescription[0]); Assert.AreEqual("3=Insert=Customer", sequenceDescription[1]); Assert.AreEqual("2=Insert=Customer", sequenceDescription[2]); }
public void TestForeignKeyMapping() { IRepository <Customer> repository = _dataSyncManager.GetRepository <Customer>(); /*Match by Id*/ GetCustomerByIdQuery.Criteria criteriaById = GetCustomerByIdQuery.Criteria.SearchById(3); IList <Customer> resultsById = repository.Matching(criteriaById); Customer matchById = resultsById.First(); Assert.AreEqual("3", matchById.Number); Assert.AreEqual("John Doe", matchById.Name); /************/ IList <AccountReceivable> receivables = _fkMappingManager.GetForeignKeyValues <Customer, AccountReceivable>(matchById); Assert.AreEqual(2, receivables.Count); Assert.AreEqual("02", receivables[0].Number); Assert.AreEqual("04", receivables[1].Number); }
public void TestRepository() { IRepository <Customer> repository = _manager.GetRepository <Customer>(); /*Match by civil status*/ GetCustomerByCivilStatusQuery.Criteria criteriaByStatus = GetCustomerByCivilStatusQuery.Criteria.SearchByStatus(GetCustomerByCivilStatusQuery.CivilStatus.Married); IList <Customer> resultsByStatus = repository.Matching(criteriaByStatus); Customer matchByStatus = resultsByStatus.First(); Assert.AreEqual("5", matchByStatus.Number); Assert.AreEqual("Test Married", matchByStatus.Name); /***********************/ /*Match by Id*/ GetCustomerByIdQuery.Criteria criteriaById = GetCustomerByIdQuery.Criteria.SearchById(2); IList <Customer> resultsById = repository.Matching(criteriaById); Customer matchById = resultsById.First(); Assert.AreEqual("2", matchById.Number); Assert.AreEqual("Jane Doe", matchById.Name); /************/ }