Example #1
0
        public async Task Core_Entity_StoredProcedureEntity_Save()
        {
            var db             = new EntityReader <CustomerInfo>(new ConnectionStringFactory().GetDefaultConnection());
            var newCustomer    = new CustomerInfo();
            var resultCustomer = new CustomerInfo();
            var dbCustomer     = new CustomerInfo();

            // Create should update original object, and pass back a fresh-from-db object
            newCustomer.Fill(testEntities[Arithmetic.Random(1, testEntities.Count)]);

            using (var writer = new EntityWriter <CustomerInfo>(new CustomerSPConfig(new ConnectionStringFactory().GetDefaultConnection(), newCustomer)))
            {
                resultCustomer = await writer.SaveAsync();
            }
            Assert.IsTrue(newCustomer.Key != Guid.Empty);
            Assert.IsTrue(resultCustomer.Id != -1);
            Assert.IsTrue(resultCustomer.Key != Guid.Empty);

            // Object in db should match in-memory objects
            dbCustomer = db.GetById(resultCustomer.Id);
            Assert.IsTrue(dbCustomer.Id != -1);
            Assert.IsTrue(dbCustomer.Key != Guid.Empty);
            Assert.IsTrue(dbCustomer.Id == resultCustomer.Id);
            Assert.IsTrue(dbCustomer.Key == resultCustomer.Key);

            RecycleBin.Add(newCustomer.Key);
        }
Example #2
0
        public async Task Core_Entity_CustomerInfo_Insert()
        {
            var testEntity   = new CustomerInfo();
            var resultEntity = new CustomerInfo();

            // Create and insert record
            testEntity.Fill(testEntities[Arithmetic.Random(1, testEntities.Count)]);
            var oldId  = testEntity.Id;
            var oldKey = testEntity.Key;

            Assert.IsTrue(testEntity.IsNew);
            Assert.IsTrue(testEntity.Id == -1);
            Assert.IsTrue(testEntity.Key == Guid.Empty);
            Assert.IsTrue(!testEntity.FailedRules.Any());

            // Do Insert and check passed entity and returned entity
            var config = new CustomerSPConfig(new ConnectionStringFactory().GetDefaultConnection(), testEntity);

            using (var writer = new EntityWriter <CustomerInfo>(config))
            {
                resultEntity = await writer.CreateAsync();
            }
            Assert.IsTrue(testEntity.Id != -1);
            Assert.IsTrue(testEntity.Key != Guid.Empty);
            Assert.IsTrue(resultEntity.Id != -1);
            Assert.IsTrue(resultEntity.Key != Guid.Empty);
            Assert.IsTrue(!resultEntity.FailedRules.Any());

            // Pull from DB and retest
            testEntity = new EntityReader <CustomerInfo>(new ConnectionStringFactory().GetDefaultConnection()).GetById(resultEntity.Id);
            Assert.IsTrue(testEntity.IsNew == false);
            Assert.IsTrue(testEntity.Id != oldId);
            Assert.IsTrue(testEntity.Key != oldKey);
            Assert.IsTrue(testEntity.Id != -1);
            Assert.IsTrue(testEntity.Key != Guid.Empty);
            Assert.IsTrue(!testEntity.FailedRules.Any());

            // Cleanup
            RecycleBin.Add(testEntity.Key);
        }