コード例 #1
0
        public async Task Entity_CustomerInfo_Create()
        {
            var testEntity   = new CustomerInfo();
            var resultEntity = new CustomerInfo();
            var reader       = new EntityReader <CustomerInfo>();

            // Create should update original object, and pass back a fresh-from-db object
            testEntity.Fill(testEntities[Arithmetic.Random(1, 5)]);
            using (var writer = new StoredProcedureWriter <CustomerInfo>(testEntity, new CustomerSPConfig(testEntity)))
            {
                resultEntity = await writer.SaveAsync();
            }
            Assert.IsTrue(testEntity.Id != Defaults.Integer);
            Assert.IsTrue(testEntity.Key != Defaults.Guid);
            Assert.IsTrue(resultEntity.Id != Defaults.Integer);
            Assert.IsTrue(resultEntity.Key != Defaults.Guid);

            // Object in db should match in-memory objects
            testEntity = reader.Read(x => x.Id == resultEntity.Id).FirstOrDefaultSafe();
            Assert.IsTrue(!testEntity.IsNew);
            Assert.IsTrue(testEntity.Id != Defaults.Integer);
            Assert.IsTrue(testEntity.Key != Defaults.Guid);
            Assert.IsTrue(testEntity.Id == resultEntity.Id);
            Assert.IsTrue(testEntity.Key == resultEntity.Key);

            CustomerEntityTests.RecycleBin.Add(testEntity.Key);
        }
コード例 #2
0
        public async Task Data_DatabaseWriter_Update()
        {
            var testEntity   = new CustomerInfo();
            var oldFirstName = Defaults.String;
            var newFirstName = DateTime.UtcNow.Ticks.ToString();
            int entityId     = Defaults.Integer;
            var entityKey    = Defaults.Guid;

            // Create and capture original data
            await Data_DatabaseWriter_Insert();

            testEntity           = new EntityReader <CustomerInfo>().GetAll().OrderByDescending(x => x.CreatedDate).FirstOrDefaultSafe();
            oldFirstName         = testEntity.FirstName;
            entityId             = testEntity.Id;
            entityKey            = testEntity.Key;
            testEntity.FirstName = newFirstName;
            Assert.IsTrue(testEntity.IsNew == false);
            Assert.IsTrue(testEntity.Id != Defaults.Integer);
            Assert.IsTrue(testEntity.Key != Defaults.Guid);

            // Do Update
            using (var writer = new StoredProcedureWriter <CustomerInfo>(testEntity, new CustomerSPConfig(testEntity)))
            {
                testEntity = await writer.SaveAsync();
            }

            // Pull from DB and retest
            testEntity = new EntityReader <CustomerInfo>().GetById(entityId);
            Assert.IsTrue(testEntity.IsNew == false);
            Assert.IsTrue(testEntity.Id == entityId);
            Assert.IsTrue(testEntity.Key == entityKey);
            Assert.IsTrue(testEntity.Id != Defaults.Integer);
            Assert.IsTrue(testEntity.Key != Defaults.Guid);
        }
コード例 #3
0
        public async Task <IActionResult> Post([FromBody] CustomerModel model)
        {
            var customer = model.CastOrFill <CustomerInfo>();

            using (var writer = new StoredProcedureWriter <CustomerInfo>(customer, new CustomerSPConfig(customer)))
            {
                customer = await writer.SaveAsync();
            }
            return(Ok(customer.CastOrFill <CustomerModel>()));
        }
コード例 #4
0
        public async Task <ActionResult> Edit(CustomerModel model)
        {
            var customer = model.CastOrFill <CustomerInfo>();

            using (var writer = new StoredProcedureWriter <CustomerInfo>(customer, new CustomerSPConfig(customer)))
            {
                customer = await writer.SaveAsync();
            }
            if (!customer.IsNew)
            {
                TempData[ResultMessage] = "Successfully saved";
            }
            else
            {
                TempData[ResultMessage] = "Failed to save";
            }

            return(View(CustomerController.SummaryView, customer.CastOrFill <CustomerModel>()));
        }
コード例 #5
0
        public async Task Entity_CustomerInfo_Update()
        {
            var resultEntity = new CustomerInfo();
            var testEntity   = new CustomerInfo();
            var uniqueValue  = Guid.NewGuid().ToString().Replace("-", "");
            var lastKey      = Defaults.Guid;
            var originalId   = Defaults.Integer;
            var originalKey  = Defaults.Guid;
            var reader       = new EntityReader <CustomerInfo>();

            await Entity_CustomerInfo_Create();

            lastKey = CustomerEntityTests.RecycleBin.Last();

            testEntity  = reader.Read(x => x.Key == lastKey).FirstOrDefaultSafe();
            originalId  = testEntity.Id;
            originalKey = testEntity.Key;
            Assert.IsTrue(!testEntity.IsNew);
            Assert.IsTrue(testEntity.Id != Defaults.Integer);
            Assert.IsTrue(testEntity.Key != Defaults.Guid);

            testEntity.FirstName = uniqueValue;
            using (var writer = new StoredProcedureWriter <CustomerInfo>(testEntity, new CustomerSPConfig(testEntity)))
            {
                resultEntity = await writer.SaveAsync();
            }
            Assert.IsTrue(!resultEntity.IsNew);
            Assert.IsTrue(resultEntity.Id != Defaults.Integer);
            Assert.IsTrue(resultEntity.Key != Defaults.Guid);
            Assert.IsTrue(testEntity.Id == resultEntity.Id && resultEntity.Id == originalId);
            Assert.IsTrue(testEntity.Key == resultEntity.Key && resultEntity.Key == originalKey);

            testEntity = reader.Read(x => x.Id == originalId).FirstOrDefaultSafe();
            Assert.IsTrue(!testEntity.IsNew);
            Assert.IsTrue(testEntity.Id == resultEntity.Id && resultEntity.Id == originalId);
            Assert.IsTrue(testEntity.Key == resultEntity.Key && resultEntity.Key == originalKey);
            Assert.IsTrue(testEntity.Id != Defaults.Integer);
            Assert.IsTrue(testEntity.Key != Defaults.Guid);
        }