Example #1
0
        static void BcpDataFile1()
        {
            string connectionstring = @"Data Source=(localdb)\v11.0;Initial Catalog=TestDb;Integrated Security=True";

            using (var db = new NerdDinners(connectionstring))
            {
                db.Database.CreateIfNotExists();
                db.Database.ExecuteSqlCommand("TRUNCATE TABLE Customers");
            }

            using (SqlBulkCopy bcp = new SqlBulkCopy(connectionstring))
            {
                using (var dr = new ChoCSVReader <Customer>("Test.txt").WithDelimiter("\t").AsDataReader())
                {
                    bcp.DestinationTableName = "dbo.Customers";
                    bcp.EnableStreaming      = true;

                    bcp.NotifyAfter    = 10;
                    bcp.SqlRowsCopied += delegate(object sender, SqlRowsCopiedEventArgs e)
                    {
                        Console.WriteLine(e.RowsCopied.ToString("#,##0") + " rows copied.");
                    };
                    bcp.WriteToServer(dr);
                }
            }
        }
        public void Create_Dinner_Should_Create_Popular_Dinner_Record()
        {
            NerdDinners.OnEventsPublished(PopularDinner.Handle);

            var dinnerID = CreateDinner(new Dinner {
                Title        = "TestDinner",
                EventDate    = new DateTime(2016, 1, 1),
                Description  = "TestDinner Description",
                ContactPhone = "0123456789",
                Address      = "TestDinner Address",
                Country      = "Europe"
            });

            var popular = new NerdDinners().PopularDinners.Find(dinnerID);

            Assert.IsNotNull(popular, "Popular dinner not found");

            Assert.AreEqual(dinnerID, popular.DinnerID);
            Assert.AreEqual("TestDinner", popular.Title);
            Assert.AreEqual(new DateTime(2016, 1, 1), popular.EventDate);
            Assert.AreEqual("TestDinner Description", popular.Description);
            Assert.AreEqual("scottha", popular.HostedBy);
            Assert.AreEqual("scottha", popular.HostedById);
            Assert.AreEqual("0123456789", popular.ContactPhone);
            Assert.AreEqual("TestDinner Address", popular.Address);
            Assert.AreEqual("Europe", popular.Country);
        }
        private static void Raise(RSVPed rsvped)
        {
            var dinners = new NerdDinners();

            PopularDinner.Handle(dinners, Event.Make(rsvped, Guid.NewGuid(), 0));
            dinners.SaveChanges();
        }
Example #4
0
        public static void BcpDataFile1()
        {
            long?rowsCopied = null;
            long sQLRowsCopiedEventFireCount = 0;

            string connectionstring = @"Data Source=(localdb)\MSSQLLocalDB;Initial Catalog=TestDb;Integrated Security=True";

            using (var db = new NerdDinners(connectionstring))
            {
                db.Database.CreateIfNotExists();
                db.Database.ExecuteSqlCommand("TRUNCATE TABLE Customers");
            }

            using (SqlBulkCopy bcp = new SqlBulkCopy(connectionstring))
            {
                using (var dr = new ChoCSVReader <Customer>(FileNameTestTXT).WithDelimiter("\t").AsDataReader())
                {
                    bcp.DestinationTableName = "dbo.Customers";
                    bcp.EnableStreaming      = true;

                    bcp.NotifyAfter    = 10;
                    bcp.SqlRowsCopied += delegate(object sender, SqlRowsCopiedEventArgs e)
                    {
                        sQLRowsCopiedEventFireCount++;
                        rowsCopied = e.RowsCopied;
                        Console.WriteLine(e.RowsCopied.ToString("#,##0") + " rows copied.");
                    };

                    bcp.WriteToServer(dr);
                }
            }

            Assert.Multiple(() => { Assert.AreEqual(10, sQLRowsCopiedEventFireCount); Assert.AreEqual(100, rowsCopied); });
        }
        private void PopulatePopularDinnerReadModelForDinner(int dinnerId, int rsvpCount)
        {
            var ctx = new NerdDinners();
            var pop = PopularDinnerFromDinner(ctx.Dinners.Find(dinnerId));

            pop.RSVPCount = rsvpCount;
            ctx.PopularDinners.Add(pop);

            ctx.SaveChanges();
        }
        public void SetUp()
        {
            InitializeLocalDbWithTestData();

            _publishedEvents.Clear();
            NerdDinners.ClearEventHandlers();
            NerdDinners.OnEventsPublished((db, e) => {
                _publishedEvents.Add(e);
            });
        }
Example #7
0
        static void LoadDataFile()
        {
            string connectionstring = @"Data Source=(localdb)\v11.0;Initial Catalog=TestDb;Integrated Security=True";

            using (var db = new NerdDinners(connectionstring))
            {
                db.Database.CreateIfNotExists();
                db.Database.ExecuteSqlCommand("TRUNCATE TABLE Customers");

                foreach (var e in new ChoCSVReader <Customer>("Test.txt").WithDelimiter("\t"))
                {
                    db.Customers.AddOrUpdate(e);
                }

                int recordsAffected = db.SaveChanges();
                Console.WriteLine($"Total inserted: {recordsAffected}");
            }
        }
        private static void InitializeLocalDbWithTestData()
        {
            Database.SetInitializer <NerdDinners>(new CreateDatabaseIfNotExistsIncludingIndicesAndUDFs());

            var dbContext = new NerdDinners();

            dbContext.Database.ExecuteSqlCommand("TRUNCATE TABLE [Dinners]");
            dbContext.Database.ExecuteSqlCommand("TRUNCATE TABLE [Events]");

            var testData = FakeDinnerData.CreateTestDinners();

            foreach (var testDinner in testData.Item1)
            {
                dbContext.Dinners.Add(testDinner);
            }
            foreach (var testEvent in testData.Item2)
            {
                dbContext.Events.Add(testEvent);
            }

            dbContext.SaveChanges();
        }
        private void AssertRSVPCountFor(int dinnerId, int expectedCount)
        {
            var popular = new NerdDinners().PopularDinners.Find(dinnerId);

            Assert.AreEqual(expectedCount, popular.RSVPCount, "RSVP count was wrong");
        }