public static void ASYNC_QueryInsertQuery(ICRUDDataStore store) { var query = new Query("CRUD.Patient.List") { new Query.Param("LN", "%loff") }; var task = store.LoadAsync( query ); Assert.AreEqual(1, task.Result.Count); var rowset = task.Result[0]; Assert.AreEqual(0, rowset.Count); var row = new DynamicRow(rowset.Schema); row["ssn"] = "999-88-9012"; row["First_Name"] = "Jack"; row["Last_Name"] = "Kozloff"; row["DOB"] = new DateTime(1980, 1, 12); Assert.IsNull( row.Validate()); store.InsertAsync(row).Wait(); task = store.LoadAsync( query ); Assert.AreEqual(1, task.Result.Count); rowset = task.Result[0]; Assert.AreEqual(1, rowset.Count); Assert.AreEqual("Jack", rowset[0]["First_Name"]); }
public static void ASYNC_QueryInsertQuery(ICRUDDataStore store) { var query = new Query("CRUD.Patient.List") { new Query.Param("LN", "%loff") }; var task = store.LoadAsync(query); Assert.AreEqual(1, task.Result.Count); var rowset = task.Result[0]; Assert.AreEqual(0, rowset.Count); var row = new DynamicRow(rowset.Schema); row["ssn"] = "999-88-9012"; row["First_Name"] = "Jack"; row["Last_Name"] = "Kozloff"; row["DOB"] = new DateTime(1980, 1, 12); Assert.IsNull(row.Validate()); store.InsertAsync(row).Wait(); task = store.LoadAsync(query); Assert.AreEqual(1, task.Result.Count); rowset = task.Result[0]; Assert.AreEqual(1, rowset.Count); Assert.AreEqual("Jack", rowset[0]["First_Name"]); }
public static void ASYNC_InsertManyUsingLogChanges_TypedRow(ICRUDDataStore store) { var rowset = new Rowset(Schema.GetForTypedRow(typeof(Patient))); rowset.LogChanges = true; for (var i = 0; i < 1000; i++) { rowset.Insert(new Patient { SSN = "999-88-9012", First_Name = "Jack", Last_Name = "Kozloff" + i, DOB = new DateTime(1980, 1, 12) }); } for (var i = 0; i < 327; i++) { rowset.Insert(new Patient { SSN = "999-88-9012", First_Name = "Jack", Last_Name = "Abramovich" + i, DOB = new DateTime(2001, 1, 12) }); } store.SaveAsync(rowset).Wait(); var task = store.LoadAsync(new Query("CRUD.Patient.List", typeof(Patient)) { new Query.Param("LN", "%loff%") }); Assert.AreEqual(1000, task.Result[0].Count); task = store.LoadAsync(new Query("CRUD.Patient.List", typeof(Patient)) { new Query.Param("LN", "%ovich%") }); Assert.AreEqual(327, task.Result[0].Count); }
public static void ASYNC_InsertInTransaction_Commit_TypedRow(ICRUDDataStore store) { var transaction = store.BeginTransactionAsync().Result; var tasks = new List <Task>(); for (var i = 0; i < 25; i++) { tasks.Add( transaction.InsertAsync(new Patient { SSN = "999-88-9012", First_Name = "Jack", Last_Name = "Kozloff" + i, DOB = new DateTime(1980, 1, 12) })); } Task.WaitAll(tasks.ToArray()); var task = store.LoadAsync(new Query("CRUD.Patient.List", typeof(Patient)) { new Query.Param("LN", "%loff%") }); Assert.AreEqual(0, task.Result[0].Count); transaction.Commit(); task = store.LoadAsync(new Query("CRUD.Patient.List", typeof(Patient)) { new Query.Param("LN", "%loff%") }); Assert.AreEqual(25, task.Result[0].Count); }
public static void ASYNC_InsertInTransaction_Commit_TypedRow(ICRUDDataStore store) { var transaction = store.BeginTransactionAsync().Result; var tasks = new List<Task>(); for(var i=0; i<25; i++) { tasks.Add( transaction.InsertAsync( new Patient { SSN = "999-88-9012", First_Name = "Jack", Last_Name = "Kozloff"+i, DOB = new DateTime(1980, 1, 12) })); } Task.WaitAll(tasks.ToArray()); var task = store.LoadAsync( new Query("CRUD.Patient.List", typeof(Patient) ) { new Query.Param("LN", "%loff%") } ); Assert.AreEqual(0, task.Result[0].Count); transaction.Commit(); task = store.LoadAsync( new Query("CRUD.Patient.List", typeof(Patient) ) { new Query.Param("LN", "%loff%") } ); Assert.AreEqual(25, task.Result[0].Count); }
public static void ASYNC_InsertManyUsingLogChanges_TypedRow(ICRUDDataStore store) { var rowset = new Rowset( Schema.GetForTypedRow(typeof(Patient))); rowset.LogChanges = true; for(var i=0; i<1000; i++) { rowset.Insert( new Patient { SSN = "999-88-9012", First_Name = "Jack", Last_Name = "Kozloff"+i, DOB = new DateTime(1980, 1, 12) }); } for(var i=0; i<327; i++) { rowset.Insert( new Patient { SSN = "999-88-9012", First_Name = "Jack", Last_Name = "Abramovich"+i, DOB = new DateTime(2001, 1, 12) }); } store.SaveAsync( rowset ).Wait(); var task = store.LoadAsync( new Query("CRUD.Patient.List", typeof(Patient) ) { new Query.Param("LN", "%loff%") } ); Assert.AreEqual(1000, task.Result[0].Count); task = store.LoadAsync( new Query("CRUD.Patient.List", typeof(Patient) ) { new Query.Param("LN", "%ovich%") } ); Assert.AreEqual(327, task.Result[0].Count); }