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); }
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); }
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>())); }
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>())); }
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); }