public static async Task Cleanup() { var reader = new EntityReader <VentureSchedule>(); var toDelete = new VentureSchedule(); foreach (Guid item in RecycleBin) { toDelete = reader.GetAll().Where(x => x.Key == item).FirstOrDefaultSafe(); using (var db = new EntityWriter <VentureSchedule>(toDelete)) { await db.DeleteAsync(); } } }
public static async Task Cleanup() { var reader = new EntityReader <ResourceInfo>(); var toDelete = new ResourceInfo(); foreach (Guid item in RecycleBin) { toDelete = reader.GetAll().Where(x => x.Key == item).FirstOrDefaultSafe(); using (var db = new EntityWriter <ResourceInfo>(toDelete, new ResourceInfoSPConfig())) { await db.DeleteAsync(); } } }
public static async Task Cleanup() { var reader = new EntityReader <CustomerInfo>(new ConnectionStringFactory().GetDefaultConnection()); var toDelete = new CustomerInfo(); foreach (Guid item in RecycleBin) { toDelete = reader.GetAll().Where(x => x.Key == item).FirstOrDefaultSafe(); using (var db = new EntityWriter <CustomerInfo>(new CustomerSPConfig(new ConnectionStringFactory().GetDefaultConnection(), toDelete))) { await db.DeleteAsync(); } } }
public async Task Core_Entity_CustomerInfo_Delete() { var reader = new EntityReader <CustomerInfo>(new ConnectionStringFactory().GetDefaultConnection()); var testEntity = new CustomerInfo(); var oldId = -1; var oldKey = Guid.Empty; // Insert and baseline test await Core_Entity_CustomerInfo_Insert(); testEntity = reader.GetAll().OrderByDescending(x => x.CreatedDate).FirstOrDefaultSafe(); oldId = testEntity.Id; oldKey = testEntity.Key; Assert.IsTrue(testEntity.IsNew == false); Assert.IsTrue(testEntity.Id != -1); Assert.IsTrue(testEntity.Key != Guid.Empty); Assert.IsTrue(!testEntity.FailedRules.Any()); // Do delete using (var writer = new EntityWriter <CustomerInfo>(new CustomerSPConfig(new ConnectionStringFactory().GetDefaultConnection(), testEntity))) { testEntity = await writer.DeleteAsync(); } Assert.IsTrue(!testEntity.FailedRules.Any()); // Pull from DB and retest testEntity = reader.GetAll().Where(x => x.Id == oldId).FirstOrDefaultSafe(); Assert.IsTrue(testEntity.IsNew); 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()); // Add to recycle bin for cleanup RecycleBin.Add(testEntity.Key); }
public void Core_Data_EntityReader_GetById() { var custData = new EntityReader <CustomerInfo>(new ConnectionStringFactory().GetDefaultConnection()); var custEntity = new CustomerInfo(); var existingId = custData.GetAllExcludeDefault().FirstOrDefaultSafe().Id; var custWhereId = custData.GetAll().Where(x => x.Id == existingId); Assert.IsTrue(custWhereId.Count() > 0); Assert.IsTrue(custWhereId.Any()); custEntity = custWhereId.FirstOrDefaultSafe(); Assert.IsTrue(custEntity.Id == existingId); Assert.IsTrue(custEntity.IsNew == false); }
public void Core_Data_EntityReader_GetByPage() { var reader = new EntityReader <CustomerInfo>(new ConnectionStringFactory().GetDefaultConnection()); var item = new CustomerInfo(); var pageCount = 3; var pageCurrent = 1; var testKeys = reader.GetAll().Take(10).Select(x => x.Key); var firstSet = reader.GetByPage(x => testKeys.Contains(x.Key), y => y.Id, pageCount, pageCurrent).ToList(); Assert.IsTrue(firstSet.Count() == pageCount); Assert.IsTrue(firstSet.First().Id <= firstSet.Last().Id); pageCurrent += 1; var secondSet = reader.GetByPage(x => testKeys.Contains(x.Key), y => y.Id, pageCount, pageCurrent).ToList(); Assert.IsTrue(secondSet.Count() == pageCount); Assert.IsTrue(secondSet.First().Id <= secondSet.Last().Id); Assert.IsTrue(firstSet.Last().Id <= secondSet.First().Id); }
public ActionResult Search(CustomerModel data) { var model = new CustomerSearchModel(); IQueryable <CustomerInfo> searchResults; model = data.CastOrFill <CustomerSearchModel>(); using (var reader = new EntityReader <CustomerInfo>()) { searchResults = reader.GetAll() .Where(x => (model.FirstName != Defaults.String && x.FirstName.Contains(model.FirstName)) || (model.LastName != Defaults.String && x.LastName.Contains(model.LastName)) || (model.BirthDate != Defaults.Date && x.BirthDate == model.BirthDate) || (x.Id == model.Id)).Take(25); } if (searchResults.Any()) { model.Results.FillRange(searchResults); } TempData[ResultMessage] = $"{model.Results.Count} matches found"; return(View(CustomerSearchController.SearchView, model)); }
public async Task Core_Entity_CustomerInfo_Update() { var testEntity = new CustomerInfo(); var reader = new EntityReader <CustomerInfo>(new ConnectionStringFactory().GetDefaultConnection()); var oldFirstName = string.Empty; var newFirstName = DateTime.UtcNow.Ticks.ToString(); var entityId = -1; var entityKey = Guid.Empty; // Create and capture original data await Core_Entity_CustomerInfo_Insert(); testEntity = reader.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 != -1); Assert.IsTrue(testEntity.Key != Guid.Empty); Assert.IsTrue(!testEntity.FailedRules.Any()); // Do Update using (var writer = new EntityWriter <CustomerInfo>(new CustomerSPConfig(new ConnectionStringFactory().GetDefaultConnection(), testEntity))) { testEntity = await writer.UpdateAsync(); } Assert.IsTrue(!testEntity.FailedRules.Any()); // Pull from DB and retest testEntity = reader.GetById(entityId); Assert.IsTrue(testEntity.IsNew == false); Assert.IsTrue(testEntity.Id == entityId); Assert.IsTrue(testEntity.Key == entityKey); Assert.IsTrue(testEntity.Id != -1); Assert.IsTrue(testEntity.Key != Guid.Empty); Assert.IsTrue(!testEntity.FailedRules.Any()); }
public ActionResult SearchResults(string id, string firstName, string lastName) { var model = new CustomerSearchModel() { Id = id.TryParseInt32(), Key = id.TryParseGuid(), FirstName = firstName, LastName = lastName }; IQueryable <CustomerInfo> searchResults; using (var reader = new EntityReader <CustomerInfo>()) { searchResults = reader.GetAll() .Where(x => (model.FirstName != Defaults.String && x.FirstName.Contains(model.FirstName)) || (model.LastName != Defaults.String && x.LastName.Contains(model.LastName)) || (model.BirthDate != Defaults.Date && x.BirthDate == model.BirthDate) || (x.Id == model.Id)).Take(25); } if (searchResults.Any()) { model.Results.FillRange(searchResults); } TempData[ResultMessage] = $"{model.Results.Count} matches found"; return(PartialView(CustomerSearchController.SearchResultsView, model.Results)); }