public async Task Core_Entity_StoredProcedureEntity_GetByKey() { var dbCustomer = new CustomerInfo(); var dbReader = new EntityReader <CustomerInfo>(new ConnectionStringFactory().GetDefaultConnection()); var lastKey = Guid.Empty; await Core_Entity_StoredProcedureEntity_Create(); lastKey = dbReader.GetByKey(RecycleBin.Last()).Key; dbCustomer = dbReader.GetByKey(lastKey); Assert.IsTrue(dbCustomer.Id != -1); Assert.IsTrue(dbCustomer.Key != Guid.Empty); Assert.IsTrue(dbCustomer.CreatedDate.Date == DateTime.UtcNow.Date); }
public void Entity_StoredProcedureEntity_Delete() { var writer = new StoredProcedureWriter <CustomerInfo>(); var reader = new EntityReader <CustomerInfo>(); var dbCustomer = new CustomerInfo(); var lastKey = TypeExtension.DefaultGuid; var originalId = TypeExtension.DefaultInteger; var originalKey = TypeExtension.DefaultGuid; Entity_StoredProcedureEntity_Create(); lastKey = StoredProcedureEntityTests.RecycleBin.Last(); dbCustomer = reader.GetByKey(lastKey); originalId = dbCustomer.Id; originalKey = dbCustomer.Key; Assert.IsTrue(!dbCustomer.IsNew); Assert.IsTrue(dbCustomer.Id != TypeExtension.DefaultInteger); Assert.IsTrue(dbCustomer.Key != TypeExtension.DefaultGuid); Assert.IsTrue(dbCustomer.CreatedDate.Date == DateTime.UtcNow.Date); dbCustomer = writer.Delete(dbCustomer); Assert.IsTrue(dbCustomer.IsNew); dbCustomer = reader.GetById(originalId); Assert.IsTrue(dbCustomer.IsNew); Assert.IsTrue(dbCustomer.Id == TypeExtension.DefaultInteger); Assert.IsTrue(dbCustomer.Key == TypeExtension.DefaultGuid); }
public async Task Person_ResourcePerson_Create() { var testEntity = new ResourcePerson(); var resultEntity = new ResourcePerson(); // Create should update original object, and pass back a fresh-from-db object testEntity.Fill(testEntities[Arithmetic.Random(1, testEntities.Count)]); using (var writer = new EntityWriter <ResourcePerson>(testEntity, new ResourcePersonSPConfig())) { 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); Assert.IsTrue(!testEntity.FailedRules.Any()); // Object in db should match in-memory objects var reader = new EntityReader <ResourcePerson>(); testEntity = reader.GetByKey(resultEntity.Key); 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); Assert.IsTrue(!testEntity.FailedRules.Any()); ResourcePersonTests.RecycleBin.Add(testEntity.Key); }
public async Task Core_Entity_StoredProcedureEntity_Delete() { var db = new EntityReader <CustomerInfo>(new ConnectionStringFactory().GetDefaultConnection()); var testItem = new CustomerInfo(); var testResult = new CustomerInfo(); var lastKey = Guid.Empty; var originalID = -1; var originalKey = Guid.Empty; await Core_Entity_StoredProcedureEntity_Create(); lastKey = RecycleBin.Last(); testItem = db.GetByKey(lastKey); originalID = testItem.Id; originalKey = testItem.Key; Assert.IsTrue(testItem.Id != -1); Assert.IsTrue(testItem.Key != Guid.Empty); Assert.IsTrue(testItem.CreatedDate.Date == DateTime.UtcNow.Date); using (var writer = new EntityWriter <CustomerInfo>(new CustomerSPConfig(new ConnectionStringFactory().GetDefaultConnection(), testItem))) { var deleteResult = await writer.DeleteAsync(); Assert.IsTrue(deleteResult.IsNew); } testItem = db.GetById(originalID); Assert.IsTrue(testItem.Id != originalID); Assert.IsTrue(testItem.Key != originalKey); Assert.IsTrue(testItem.Id == -1); Assert.IsTrue(testItem.Key == Guid.Empty); }
public async Task Core_Data_StoredProcedure_Update() { var testItem = new CustomerInfo(); var reader = new EntityReader <CustomerInfo>(new ConnectionStringFactory().GetDefaultConnection()); var customerTests = new CustomerInfoTests(); await customerTests.Core_Entity_CustomerInfo_Insert(); testItem = reader.GetByKey(CustomerTests.RecycleBin.LastOrDefault()); var updateProc = new StoredProcedure <CustomerInfo>() { StoredProcedureName = "CustomerInfoUpdate", Parameters = new List <SqlParameter>() { new SqlParameter("@Key", testItem.Key), new SqlParameter("@FirstName", testItem.FirstName), new SqlParameter("@MiddleName", testItem.MiddleName), new SqlParameter("@LastName", testItem.LastName), new SqlParameter("@BirthDate", testItem.BirthDate), new SqlParameter("@GenderId", testItem.GenderId), new SqlParameter("@CustomerTypeId", testItem.CustomerTypeId) } }; Assert.IsTrue(updateProc.StoredProcedureName.Length > 0); Assert.IsTrue(updateProc.Parameters.Count() > 0); }
public async Task Core_Entity_StoredProcedureEntity_Update() { var reader = new EntityReader <CustomerInfo>(new ConnectionStringFactory().GetDefaultConnection()); var item = new CustomerInfo(); var resultCustomer = new CustomerInfo(); var uniqueValue = RandomString.Next(); await Core_Entity_StoredProcedureEntity_Create(); Guid lastKey = RecycleBin.Last(); item = reader.GetByKey(lastKey); var originalID = item.Id; Guid originalKey = item.Key; Assert.IsTrue(item.Id != -1); Assert.IsTrue(item.Key != Guid.Empty); item.FirstName = uniqueValue; using (var writer = new EntityWriter <CustomerInfo>(new CustomerSPConfig(new ConnectionStringFactory().GetDefaultConnection(), item))) { resultCustomer = await writer.UpdateAsync(); } Assert.IsTrue(resultCustomer.Id != -1); Assert.IsTrue(resultCustomer.Key != Guid.Empty); Assert.IsTrue(item.Id == resultCustomer.Id && resultCustomer.Id == originalID); Assert.IsTrue(item.Key == resultCustomer.Key && resultCustomer.Key == originalKey); item = reader.GetById(originalID); Assert.IsTrue(item.Id == resultCustomer.Id && resultCustomer.Id == originalID); Assert.IsTrue(item.Key == resultCustomer.Key && resultCustomer.Key == originalKey); Assert.IsTrue(item.Id != -1); Assert.IsTrue(item.Key != Guid.Empty); }
public async Task Entity_StoredProcedureEntity_Delete() { var reader = new EntityReader <CustomerInfo>(); await Entity_StoredProcedureEntity_Create(); var lastKey = StoredProcedureEntityTests.RecycleBin.Last(); var testEntity = reader.GetByKey(lastKey); var originalId = testEntity.Id; Assert.IsTrue(!testEntity.IsNew); Assert.IsTrue(testEntity.Id != Defaults.Integer); Assert.IsTrue(testEntity.Key != Defaults.Guid); Assert.IsTrue(testEntity.CreatedDate.Date == DateTime.UtcNow.Date); using (var writer = new StoredProcedureWriter <CustomerInfo>(testEntity, new CustomerSPConfig(testEntity))) { testEntity = await writer.DeleteAsync(); } Assert.IsTrue(testEntity.IsNew); testEntity = reader.GetById(originalId); Assert.IsTrue(testEntity.IsNew); Assert.IsTrue(testEntity.Id == Defaults.Integer); Assert.IsTrue(testEntity.Key == Defaults.Guid); }
public static void Cleanup() { var writer = new EntityWriter <CustomerInfo>(); var reader = new EntityReader <CustomerInfo>(); foreach (Guid item in RecycleBin) { writer.Delete(reader.GetByKey(item)); } }
public void Core_Data_EntityReader_Singles() { var reader = new EntityReader <CustomerInfo>(new ConnectionStringFactory().GetDefaultConnection()); var testItem = new CustomerInfo(); var emptyGuid = Guid.Empty; // By Id var results = reader.GetAllExcludeDefault(); var first = results.FirstOrDefaultSafe(); testItem = reader.GetByKey(first.Key); Assert.IsTrue(testItem.IsNew == false); Assert.IsTrue(testItem.Id != -1); Assert.IsTrue(testItem.Key != Guid.Empty); // By Key testItem = reader.GetByKey(reader.GetAllExcludeDefault().FirstOrDefaultSafe().Key); Assert.IsTrue(testItem.IsNew == false); Assert.IsTrue(testItem.Id != -1); Assert.IsTrue(testItem.Key != Guid.Empty); }
public static async Task Cleanup() { var reader = new EntityReader <CustomerInfo>(new ConnectionStringFactory().GetDefaultConnection()); foreach (Guid item in RecycleBin) { var toDelete = reader.GetByKey(item); using (var writer = new EntityWriter <CustomerInfo>(new CustomerSPConfig(new ConnectionStringFactory().GetDefaultConnection(), toDelete))) { await writer.DeleteAsync(); } } }
public ActionResult Summary(string id) { var reader = new EntityReader <CustomerInfo>(); var customer = (id.IsInteger() ? reader.GetById(id.TryParseInt32()) : reader.GetByKey(id.TryParseGuid())); if (customer.IsNew) { TempData[ResultMessage] = "Customer not found"; } return(View(CustomerController.SummaryView, customer.CastOrFill <CustomerModel>())); }
public ActionResult Delete(CustomerModel model) { var reader = new EntityReader <CustomerInfo>(); var customer = reader.GetByKey(model.Key); customer = customer.Delete(); if (customer.IsNew) { TempData[ResultMessage] = "Successfully deleted"; } else { TempData[ResultMessage] = "Failed to delete"; } return(View(CustomerSearchController.SearchView, customer.CastOrFill <CustomerSearchModel>())); }
public async Task <ActionResult> Delete(CustomerModel model) { var reader = new EntityReader <CustomerInfo>(); var customer = reader.GetByKey(model.Key); using (var writer = new StoredProcedureWriter <CustomerInfo>(customer, new CustomerSPConfig(customer))) { customer = await writer.DeleteAsync(); } if (customer.IsNew) { TempData[ResultMessage] = "Successfully deleted"; } else { TempData[ResultMessage] = "Failed to delete"; } return(View(CustomerSearchController.SearchView, customer.CastOrFill <CustomerSearchModel>())); }
public async Task Core_Data_StoredProcedure_Delete() { var testItem = new CustomerInfo(); var reader = new EntityReader <CustomerInfo>(new ConnectionStringFactory().GetDefaultConnection()); var customerTests = new CustomerInfoTests(); await customerTests.Core_Entity_CustomerInfo_Insert(); testItem = reader.GetByKey(CustomerTests.RecycleBin.LastOrDefault()); var deleteProc = new StoredProcedure <CustomerInfo>() { StoredProcedureName = "CustomerInfoDelete", Parameters = new List <SqlParameter>() { new SqlParameter("@Key", testItem.Key) } }; Assert.IsTrue(deleteProc.StoredProcedureName.Length > 0); Assert.IsTrue(deleteProc.Parameters.Count() > 0); }
public void Entity_StoredProcedureEntity_Update() { var writer = new StoredProcedureWriter <CustomerInfo>(); var reader = new EntityReader <CustomerInfo>(); var resultCustomer = new CustomerInfo(); var dbCustomer = new CustomerInfo(); var uniqueValue = Guid.NewGuid().ToString().Replace("-", ""); var lastKey = TypeExtension.DefaultGuid; var originalId = TypeExtension.DefaultInteger; var originalKey = TypeExtension.DefaultGuid; Entity_StoredProcedureEntity_Create(); lastKey = StoredProcedureEntityTests.RecycleBin.Last(); dbCustomer = reader.GetByKey(lastKey); originalId = dbCustomer.Id; originalKey = dbCustomer.Key; Assert.IsTrue(!dbCustomer.IsNew); Assert.IsTrue(dbCustomer.Id != TypeExtension.DefaultInteger); Assert.IsTrue(dbCustomer.Key != TypeExtension.DefaultGuid); dbCustomer.FirstName = uniqueValue; resultCustomer = writer.Update(dbCustomer); Assert.IsTrue(!resultCustomer.IsNew); Assert.IsTrue(resultCustomer.Id != TypeExtension.DefaultInteger); Assert.IsTrue(resultCustomer.Key != TypeExtension.DefaultGuid); Assert.IsTrue(dbCustomer.Id == resultCustomer.Id && resultCustomer.Id == originalId); Assert.IsTrue(dbCustomer.Key == resultCustomer.Key && resultCustomer.Key == originalKey); dbCustomer = dbCustomer = reader.GetById(originalId); Assert.IsTrue(!dbCustomer.IsNew); Assert.IsTrue(dbCustomer.Id == resultCustomer.Id && resultCustomer.Id == originalId); Assert.IsTrue(dbCustomer.Key == resultCustomer.Key && resultCustomer.Key == originalKey); Assert.IsTrue(dbCustomer.Id != TypeExtension.DefaultInteger); Assert.IsTrue(dbCustomer.Key != TypeExtension.DefaultGuid); }
public async Task Entity_StoredProcedureEntity_Update() { var reader = new EntityReader <CustomerInfo>(); var resultEntity = new CustomerInfo(); var uniqueValue = Guid.NewGuid().ToString().Replace("-", ""); await Entity_StoredProcedureEntity_Create(); var lastKey = StoredProcedureEntityTests.RecycleBin.Last(); var testEntity = reader.GetByKey(lastKey); var originalId = testEntity.Id; var 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.UpdateAsync(); } 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.GetById(originalId); 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); }