Esempio n. 1
0
        public static void UpsertWithPredicate(ICRUDDataStore store)
        {
            var patient  = TestLogic.GetDefaultPatient();
            var affected = store.Insert(patient);

            Assert.AreEqual(1, affected);
            var query = new Query <Patient>("CRUD.Patient.List")
            {
                new Query.Param("LN", "%%")
            };
            var persisted = store.LoadRow(query);

            persisted.Zip        = "010203";
            persisted.First_Name = "John";
            persisted.Last_Name  = "Smith";
            affected             = store.Upsert(persisted, (r, k, f) => f.Name != "Zip");
            Assert.AreEqual(2, affected);

            var updated = store.LoadRow(query);

            Assert.IsNotNull(updated);
            Assert.AreEqual(persisted.SSN, updated.SSN);
            Assert.AreEqual(persisted.City, updated.City);
            Assert.AreEqual(persisted.Address1, updated.Address1);
            Assert.AreEqual(persisted.Address2, updated.Address2);
            Assert.AreEqual(persisted.Amount, updated.Amount);
            Assert.AreEqual(persisted.Doctor_Phone, updated.Doctor_Phone);
            Assert.AreEqual(persisted.Phone, updated.Phone);
            Assert.AreEqual(persisted.DOB, updated.DOB);
            Assert.AreEqual(persisted.Note, updated.Note);

            Assert.AreEqual(persisted.First_Name, updated.First_Name);
            Assert.AreEqual(persisted.Last_Name, updated.Last_Name);
            Assert.AreEqual(patient.Zip, updated.Zip); // notice ZIP remains the same
        }
Esempio n. 2
0
        public static void TypedRowTestVariousTypes(ICRUDDataStore store)
        {
            var row = new Types();

            row.GDID        = new GDID(0, 234);
            row.Screen_Name = "User1";
            row.String_Name = "Some user 1";
            row.Char_Name   = "Some user 2";
            row.Bool_Char   = true; //notice TRUE for both char and bool columns below
            row.Bool_Bool   = true;

            row["AMOUNT"] = 145670.23m;

            row["DOB"] = new DateTime(1980, 12, 1);
            row["Age"] = 145;

            store.Insert(row);

            var row2 = store.LoadRow(new Query <Types>("CRUD.Types.Load", new GDID(0, 234)));

            Assert.NotNull(row2);
            Assert.AreEqual(new GDID(0, 0, 234), row2.GDID);
            Assert.AreEqual("User1", row2.Screen_Name);
            Assert.AreEqual("Some user 1", row2.String_Name);
            Assert.AreEqual("Some user 2", row2.Char_Name);

            Assert.AreEqual(true, row2.Bool_Char.Value);
            Assert.AreEqual(true, row2.Bool_Bool.Value);

            Assert.AreEqual(145670.23m, row2.Amount);

            Assert.AreEqual(1980, row2.DOB.Value.Year);

            Assert.AreEqual(145, row2.Age);

            row.Age       = null;
            row.Bool_Bool = null;
            row.DOB       = null;
            store.Update(row);

            var row3 = store.LoadRow(new Query <Types>("CRUD.Types.Load", new GDID(0, 234)));

            Assert.IsFalse(row3.Age.HasValue);
            Assert.IsFalse(row3.Bool_Bool.HasValue);
            Assert.IsFalse(row3.DOB.HasValue);

            Assert.IsNull(row3["Age"].AsNullableInt());
            Assert.IsNull(row3["DOB"].AsNullableDateTime());
            Assert.IsNull(row3["Bool_Bool"].AsNullableBool());
        }
Esempio n. 3
0
        public static void InsertWithPredicate(ICRUDDataStore store)
        {
            var patient  = TestLogic.GetDefaultPatient();
            var affected = store.Insert(patient, (r, k, f) => f.Name != "State" && f.Name != "Zip");

            Assert.AreEqual(1, affected);

            var query = new Query <Patient>("CRUD.Patient.List")
            {
                new Query.Param("LN", "%%")
            };
            var persisted = store.LoadRow(query);

            Assert.IsNotNull(persisted);
            Assert.AreEqual(patient.First_Name, persisted.First_Name);
            Assert.AreEqual(patient.Last_Name, persisted.Last_Name);
            Assert.AreEqual(patient.SSN, persisted.SSN);
            Assert.AreEqual(patient.City, persisted.City);
            Assert.AreEqual(patient.Address1, persisted.Address1);
            Assert.AreEqual(patient.Address2, persisted.Address2);
            Assert.AreEqual(patient.Amount, persisted.Amount);
            Assert.AreEqual(patient.Doctor_Phone, persisted.Doctor_Phone);
            Assert.AreEqual(patient.Phone, persisted.Phone);
            Assert.AreEqual(patient.DOB, persisted.DOB);
            Assert.AreEqual(patient.Note, persisted.Note);

            Assert.IsNull(persisted.State);
            Assert.IsNull(persisted.Zip);
        }
Esempio n. 4
0
        public static void QueryInsertQuery_DynamicRow(ICRUDDataStore store)
        {
            var query = new Query <DynamicRow>("CRUD.Patient.List")
            {
                new Query.Param("LN", "%ruman")
            };
            var result = store.Load(query);

            Assert.AreEqual(1, result.Count);
            var rowset = result[0];

            Assert.AreEqual(0, rowset.Count);

            var row = new Patient();

            row.SSN        = "999-88-9012";
            row.First_Name = "Mans";
            row.Last_Name  = "Skolopendruman";
            row.DOB        = new DateTime(1970, 1, 12);

            Assert.IsNull(row.Validate());

            store.Insert(row);


            var row2 = store.LoadRow(query);

            Assert.IsNotNull(row2);
            Assert.IsInstanceOf <DynamicRow>(row2);
            Assert.AreEqual("Mans", row2["First_Name"]);
        }
Esempio n. 5
0
        public static void QueryInsertQuery_DynamicRow(ICRUDDataStore store)
        {
            var query = new Query<DynamicRow>("CRUD.Patient.List") { new Query.Param("LN", "%ruman") };
            var result = store.Load( query );  

            Assert.AreEqual(1, result.Count);
            var rowset = result[0];
            Assert.AreEqual(0, rowset.Count);
                
            var row = new Patient();

            row.SSN = "999-88-9012";
            row.First_Name = "Mans";
            row.Last_Name = "Skolopendruman";
            row.DOB = new DateTime(1970, 1, 12);

            Assert.IsNull( row.Validate());

            store.Insert(row);   

                      
            var row2 = store.LoadRow( query );  

            Assert.IsNotNull(row2);
            Assert.IsInstanceOf<DynamicRow>( row2 );
            Assert.AreEqual("Mans", row2["First_Name"]);
            
        }
Esempio n. 6
0
        public static void UpsertWithPredicate(ICRUDDataStore store)
        {
            var patient = TestLogic.GetDefaultPatient();
            var affected = store.Insert(patient);
            Assert.AreEqual(1, affected);
            var query = new Query<Patient>("CRUD.Patient.List") { new Query.Param("LN", "%%") };
            var persisted = store.LoadRow(query);

            persisted.Zip = "010203";
            persisted.First_Name = "John";
            persisted.Last_Name = "Smith";
            affected = store.Upsert(persisted, (r, k, f) => f.Name != "Zip");
            Assert.AreEqual(2, affected);

            var updated = store.LoadRow(query);
            Assert.IsNotNull(updated);
            Assert.AreEqual(persisted.SSN, updated.SSN);
            Assert.AreEqual(persisted.City, updated.City);
            Assert.AreEqual(persisted.Address1, updated.Address1);
            Assert.AreEqual(persisted.Address2, updated.Address2);
            Assert.AreEqual(persisted.Amount, updated.Amount);
            Assert.AreEqual(persisted.Doctor_Phone, updated.Doctor_Phone);
            Assert.AreEqual(persisted.Phone, updated.Phone);
            Assert.AreEqual(persisted.DOB, updated.DOB);
            Assert.AreEqual(persisted.Note, updated.Note);

            Assert.AreEqual(persisted.First_Name, updated.First_Name);
            Assert.AreEqual(persisted.Last_Name, updated.Last_Name);
            Assert.AreEqual(patient.Zip, updated.Zip); // notice ZIP remains the same
        }
Esempio n. 7
0
        public static void TypedRowTestVariousTypes(ICRUDDataStore store)
        {
            var row = new Types();
            row.GDID = new GDID(0, 234);
            row.Screen_Name = "User1";
            row.String_Name = "Some user 1";
            row.Char_Name = "Some user 2";
            row.Bool_Char = true; //notice TRUE for both char and bool columns below
            row.Bool_Bool = true;

            row["AMOUNT"] = 145670.23m;

            row["DOB"] = new DateTime(1980,12,1);
            row["Age"] = 145;

            store.Insert( row );

            var row2 = store.LoadRow(new Query<Types>("CRUD.Types.Load", new GDID(0, 234)));

            Assert.NotNull(row2);
            Assert.AreEqual(new GDID(0,0,234), row2.GDID);
            Assert.AreEqual("User1", row2.Screen_Name);
            Assert.AreEqual("Some user 1", row2.String_Name);
            Assert.AreEqual("Some user 2", row2.Char_Name);

            Assert.AreEqual(true, row2.Bool_Char.Value);
            Assert.AreEqual(true, row2.Bool_Bool.Value);

            Assert.AreEqual(145670.23m, row2.Amount);

            Assert.AreEqual(1980, row2.DOB.Value.Year);

            Assert.AreEqual(145, row2.Age);

            row.Age = null;
            row.Bool_Bool = null;
            row.DOB = null;
            store.Update(row);

            var row3 = store.LoadRow(new Query<Types>("CRUD.Types.Load", new GDID(0, 234)));
            Assert.IsFalse(row3.Age.HasValue);
            Assert.IsFalse(row3.Bool_Bool.HasValue);
            Assert.IsFalse(row3.DOB.HasValue);

            Assert.IsNull( row3["Age"].AsNullableInt());
            Assert.IsNull( row3["DOB"].AsNullableDateTime());
            Assert.IsNull( row3["Bool_Bool"].AsNullableBool());
        }
Esempio n. 8
0
        public static void InsertWithPredicate(ICRUDDataStore store)
        {
            var patient = TestLogic.GetDefaultPatient();
            var affected = store.Insert(patient, (r, k, f) => f.Name != "State" && f.Name != "Zip");
            Assert.AreEqual(1, affected);

            var query = new Query<Patient>("CRUD.Patient.List") { new Query.Param("LN", "%%") };
            var persisted = store.LoadRow(query);
            Assert.IsNotNull(persisted);
            Assert.AreEqual(patient.First_Name, persisted.First_Name);
            Assert.AreEqual(patient.Last_Name, persisted.Last_Name);
            Assert.AreEqual(patient.SSN, persisted.SSN);
            Assert.AreEqual(patient.City, persisted.City);
            Assert.AreEqual(patient.Address1, persisted.Address1);
            Assert.AreEqual(patient.Address2, persisted.Address2);
            Assert.AreEqual(patient.Amount, persisted.Amount);
            Assert.AreEqual(patient.Doctor_Phone, persisted.Doctor_Phone);
            Assert.AreEqual(patient.Phone, persisted.Phone);
            Assert.AreEqual(patient.DOB, persisted.DOB);
            Assert.AreEqual(patient.Note, persisted.Note);

            Assert.IsNull(persisted.State);
            Assert.IsNull(persisted.Zip);
        }