Exemplo n.º 1
0
        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"]);
            
        }
Exemplo n.º 2
0
        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"]);
        }
Exemplo n.º 3
0
        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);
        }
Exemplo n.º 4
0
        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);
        }
Exemplo n.º 5
0
        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);
        }
Exemplo n.º 6
0
        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);
        }