public void CompositeKeyObject_Insert()
        {
            const int    dataKey1ID      = 102;
            const int    dataKey2ID      = 200;
            const int    dataKey3ID      = 300;
            const string dataTextData    = "This is some text data.";
            var          dataDateEntered = DateTime.Now;

            var poco = new CompositeKeyObject
            {
                Key1ID      = dataKey1ID,
                Key2ID      = dataKey2ID,
                Key3ID      = dataKey3ID,
                TextData    = dataTextData,
                DateEntered = dataDateEntered
            };

            var db = TestDatabase.Db;

            db.Insert(poco);

            var verify = db.SingleOrDefault <CompositeKeyObject>(@"
				SELECT * 
				FROM CompositeKeyObjects
				WHERE Key1ID = @0 AND Key2ID = @1 AND Key3ID = @2
				"                , dataKey1ID, dataKey2ID, dataKey3ID);

            db.Execute(@"
				DELETE FROM CompositeKeyObjects
				WHERE Key1ID = @0 AND Key2ID = @1 AND Key3ID = @2
				"                , dataKey1ID, dataKey2ID, dataKey3ID);

            Assert.IsNotNull(verify);
            Assert.AreEqual(dataKey1ID, verify.Key1ID);
            Assert.AreEqual(dataKey2ID, verify.Key2ID);
            Assert.AreEqual(dataKey3ID, verify.Key3ID);
            Assert.AreEqual(dataTextData, verify.TextData);
            int tDiff = dataDateEntered.Subtract(verify.DateEntered).Milliseconds;

            //Trace.WriteLine("TDiff = " + tDiff);
            Assert.IsTrue(Math.Abs(tDiff) < 100, "DateEntered difference (ms): " + tDiff);
        }
		public void CompositeKeyObject_Insert()
		{
			const int dataKey1ID = 102;
			const int dataKey2ID = 200;
			const int dataKey3ID = 300;
			const string dataTextData = "This is some text data.";
			var dataDateEntered = DateTime.Now;

			var poco = new CompositeKeyObject
			{
				Key1ID = dataKey1ID,
				Key2ID = dataKey2ID,
				Key3ID = dataKey3ID,
				TextData = dataTextData,
				DateEntered = dataDateEntered
			};

			var db = TestDatabase.Db;
			db.Insert(poco);

			var verify = db.SingleOrDefault<CompositeKeyObject>(@"
				SELECT * 
				FROM CompositeKeyObjects
				WHERE Key1ID = @0 AND Key2ID = @1 AND Key3ID = @2
				", dataKey1ID, dataKey2ID, dataKey3ID);

			db.Execute(@"
				DELETE FROM CompositeKeyObjects
				WHERE Key1ID = @0 AND Key2ID = @1 AND Key3ID = @2
				", dataKey1ID, dataKey2ID, dataKey3ID);

			Assert.IsNotNull(verify);
			Assert.AreEqual(dataKey1ID, verify.Key1ID);
			Assert.AreEqual(dataKey2ID, verify.Key2ID);
			Assert.AreEqual(dataKey3ID, verify.Key3ID);
			Assert.AreEqual(dataTextData, verify.TextData);
			int tDiff = dataDateEntered.Subtract(verify.DateEntered).Milliseconds;
			//Trace.WriteLine("TDiff = " + tDiff);
			Assert.IsTrue(Math.Abs(tDiff) < 100, "DateEntered difference (ms): "+ tDiff);
		}
Beispiel #3
0
		public static void RecreateData(NPoco.Database db)
		{
			InMemoryCompositeKeyObjects = new List<CompositeKeyObject>();
			InMemoryIdentityObjects = new List<IdentityObject>();
			InMemoryKeyedGuidObjects = new List<KeyedGuidObject>();
			InMemoryKeyedIntObjects = new List<KeyedIntObject>();
			InMemoryListObjects = new List<ListObject>();
			InMemoryNoKeyNonDistinctObjects = new List<NoKeyNonDistinctObject>();
			InMemoryObjectsWithCustomType = new List<ObjectsWithCustomType>();

			// Clear out any old items
			db.Execute("TRUNCATE TABLE CompositeKeyObjects;");
			db.Execute("TRUNCATE TABLE IdentityObjects;");
			db.Execute("TRUNCATE TABLE KeyedGuidObjects;");
			db.Execute("TRUNCATE TABLE KeyedIntObjects;");
			db.Execute("TRUNCATE TABLE ListObjects;");
			db.Execute("TRUNCATE TABLE NoKeyNonDistinctObjects;");
			db.Execute("DBCC CHECKIDENT ('IdentityObjects', RESEED, 0) WITH NO_INFOMSGS;");

			int pos;
			for (var i = 0; i < 15; i += 1 )
			{
				pos = i + 1;

				var cko = new CompositeKeyObject
				{
					Key1ID = (pos / 5) + 1,
					Key2ID = (pos / 3) + 1,
					Key3ID = (pos % 5),
					TextData = "Text" + pos,
					DateEntered = new DateTime(1970, 1, 1).AddYears(pos),
					DateUpdated = DateTime.Now
				};
				db.Insert(cko);
				InMemoryCompositeKeyObjects.Add(cko);

				var io = new IdentityObject
				{
						Name = "Name " + pos,
						Age = (pos % 2 == 0) ? (int?)pos * 3 : null,
						DateOfBirth = new DateTime(1970, 1, 1).AddYears(pos),
						Savings = (pos*100000) / 13,
						DependentCount = (pos % 2 == 1) ? (byte?)pos : null,
						Gender = (pos % 2 == 0) ? "M" : "F",
						IsActive = (pos % 2 == 1)
				};
				db.Insert(io);
				InMemoryIdentityObjects.Add(io);

				var kgo = new KeyedGuidObject
				{
					Id = System.Guid.NewGuid(),
					Name = "Name " + pos,
					Age = (pos % 2 == 0) ? (int?)pos * 3 : null,
					DateOfBirth = new DateTime(1970, 1, 1).AddYears(pos),
					Savings = (pos * 100000) / 13,
					DependentCount = (pos % 2 == 1) ? (byte?)pos : null,
					Gender = (pos % 2 == 0) ? "M" : "F",
					IsActive = (pos % 2 == 1)
				};
				db.Insert(kgo);
				InMemoryKeyedGuidObjects.Add(kgo);

				var kio = new KeyedIntObject
				{
					Id = pos,
					Name = "Name " + pos,
					Age = (pos % 2 == 0) ? (int?)pos * 3 : null,
					DateOfBirth = new DateTime(1970, 1, 1).AddYears(pos),
					Savings = (pos * 100000) / 13,
					DependentCount = (pos % 2 == 1) ? (byte?)pos : null,
					Gender = (pos % 2 == 0) ? "M" : "F",
					IsActive = (pos % 2 == 1)
				};
				db.Insert(kio);
				InMemoryKeyedIntObjects.Add(kio);

				var nkndo = new NoKeyNonDistinctObject
				{
					FullName = "Name " + pos % 2,
					ItemInt = pos % 2,
					OptionalInt = (pos % 2 == 0) ? (int?)42 : null,
					Color = (pos % 2 == 0) ? "Red" : "Blue"
				};
				db.Insert(nkndo);
				InMemoryNoKeyNonDistinctObjects.Add(nkndo);

				var owct = new ObjectsWithCustomType
				{
					Id = "StringId_" + pos.ToString(),
					Name = "Blah",
					MySpecialTypeField = new DateTime(1925 + pos, 2, 15)
				};
				db.Insert(owct);
				InMemoryObjectsWithCustomType.Add(owct);
			}


			InMemoryListObjects.Add(new ListObject { 
				Id = 1,
				ShortName = "LiveLetter",
				Description = "Live with Letter of Intent Only",
				StatusKey = "A",
				SortOrder =1
			});

			InMemoryListObjects.Add(new ListObject
			{
				Id = 2,
				ShortName = "TakesPatients",
				Description = "Will Accept Most Patients",
				StatusKey = "P",
				SortOrder = 10
			});

			InMemoryListObjects.Add(new ListObject
			{
				Id = 3,
				ShortName = "Active",
				Description = "Active",
				StatusKey = "I",
				SortOrder = 20
			});

			InMemoryListObjects.Add(new ListObject
			{
				Id = 4,
				ShortName = "Prospect",
				Description = "Prospect",
				StatusKey = "I",
				SortOrder = 30
			});

			InMemoryListObjects.Add(new ListObject
			{
				Id = 5,
				ShortName = "OnHold",
				Description = "Tracked but not expected to participate",
				StatusKey = "I",
				SortOrder = 90
			});

			foreach (var lo in InMemoryListObjects)
			{
				db.Insert(lo);
			}

		}
 public bool Update(CompositeKeyObject entity)
 {
     db.Update(entity);
     return(true);
 }
 public bool Insert(CompositeKeyObject entity)
 {
     db.Insert(entity);
     return(true);
 }
Beispiel #6
0
        public static void RecreateData(NPoco.Database db)
        {
            InMemoryCompositeKeyObjects     = new List <CompositeKeyObject>();
            InMemoryIdentityObjects         = new List <IdentityObject>();
            InMemoryKeyedGuidObjects        = new List <KeyedGuidObject>();
            InMemoryKeyedIntObjects         = new List <KeyedIntObject>();
            InMemoryListObjects             = new List <ListObject>();
            InMemoryNoKeyNonDistinctObjects = new List <NoKeyNonDistinctObject>();
            InMemoryObjectsWithCustomType   = new List <ObjectsWithCustomType>();

            // Clear out any old items
            db.Execute("TRUNCATE TABLE CompositeKeyObjects;");
            db.Execute("TRUNCATE TABLE IdentityObjects;");
            db.Execute("TRUNCATE TABLE KeyedGuidObjects;");
            db.Execute("TRUNCATE TABLE KeyedIntObjects;");
            db.Execute("TRUNCATE TABLE ListObjects;");
            db.Execute("TRUNCATE TABLE NoKeyNonDistinctObjects;");
            db.Execute("DBCC CHECKIDENT ('IdentityObjects', RESEED, 0) WITH NO_INFOMSGS;");

            int pos;

            for (var i = 0; i < 15; i += 1)
            {
                pos = i + 1;

                var cko = new CompositeKeyObject
                {
                    Key1ID      = (pos / 5) + 1,
                    Key2ID      = (pos / 3) + 1,
                    Key3ID      = (pos % 5),
                    TextData    = "Text" + pos,
                    DateEntered = new DateTime(1970, 1, 1).AddYears(pos),
                    DateUpdated = DateTime.Now
                };
                db.Insert(cko);
                InMemoryCompositeKeyObjects.Add(cko);

                var io = new IdentityObject
                {
                    Name           = "Name " + pos,
                    Age            = (pos % 2 == 0) ? (int?)pos * 3 : null,
                    DateOfBirth    = new DateTime(1970, 1, 1).AddYears(pos),
                    Savings        = (pos * 100000) / 13,
                    DependentCount = (pos % 2 == 1) ? (byte?)pos : null,
                    Gender         = (pos % 2 == 0) ? "M" : "F",
                    IsActive       = (pos % 2 == 1)
                };
                db.Insert(io);
                InMemoryIdentityObjects.Add(io);

                var kgo = new KeyedGuidObject
                {
                    Id             = System.Guid.NewGuid(),
                    Name           = "Name " + pos,
                    Age            = (pos % 2 == 0) ? (int?)pos * 3 : null,
                    DateOfBirth    = new DateTime(1970, 1, 1).AddYears(pos),
                    Savings        = (pos * 100000) / 13,
                    DependentCount = (pos % 2 == 1) ? (byte?)pos : null,
                    Gender         = (pos % 2 == 0) ? "M" : "F",
                    IsActive       = (pos % 2 == 1)
                };
                db.Insert(kgo);
                InMemoryKeyedGuidObjects.Add(kgo);

                var kio = new KeyedIntObject
                {
                    Id             = pos,
                    Name           = "Name " + pos,
                    Age            = (pos % 2 == 0) ? (int?)pos * 3 : null,
                    DateOfBirth    = new DateTime(1970, 1, 1).AddYears(pos),
                    Savings        = (pos * 100000) / 13,
                    DependentCount = (pos % 2 == 1) ? (byte?)pos : null,
                    Gender         = (pos % 2 == 0) ? "M" : "F",
                    IsActive       = (pos % 2 == 1)
                };
                db.Insert(kio);
                InMemoryKeyedIntObjects.Add(kio);

                var nkndo = new NoKeyNonDistinctObject
                {
                    FullName    = "Name " + pos % 2,
                    ItemInt     = pos % 2,
                    OptionalInt = (pos % 2 == 0) ? (int?)42 : null,
                    Color       = (pos % 2 == 0) ? "Red" : "Blue"
                };
                db.Insert(nkndo);
                InMemoryNoKeyNonDistinctObjects.Add(nkndo);

                var owct = new ObjectsWithCustomType
                {
                    Id   = "StringId_" + pos.ToString(),
                    Name = "Blah",
                    MySpecialTypeField = new DateTime(1925 + pos, 2, 15)
                };
                db.Insert(owct);
                InMemoryObjectsWithCustomType.Add(owct);
            }


            InMemoryListObjects.Add(new ListObject {
                Id          = 1,
                ShortName   = "LiveLetter",
                Description = "Live with Letter of Intent Only",
                StatusKey   = "A",
                SortOrder   = 1
            });

            InMemoryListObjects.Add(new ListObject
            {
                Id          = 2,
                ShortName   = "TakesPatients",
                Description = "Will Accept Most Patients",
                StatusKey   = "P",
                SortOrder   = 10
            });

            InMemoryListObjects.Add(new ListObject
            {
                Id          = 3,
                ShortName   = "Active",
                Description = "Active",
                StatusKey   = "I",
                SortOrder   = 20
            });

            InMemoryListObjects.Add(new ListObject
            {
                Id          = 4,
                ShortName   = "Prospect",
                Description = "Prospect",
                StatusKey   = "I",
                SortOrder   = 30
            });

            InMemoryListObjects.Add(new ListObject
            {
                Id          = 5,
                ShortName   = "OnHold",
                Description = "Tracked but not expected to participate",
                StatusKey   = "I",
                SortOrder   = 90
            });

            foreach (var lo in InMemoryListObjects)
            {
                db.Insert(lo);
            }
        }
		public bool Update(CompositeKeyObject entity)
		{
			db.Update(entity);
			return true;
		}
		public bool Insert(CompositeKeyObject entity)
		{
			db.Insert(entity);
			return true;
		}