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(); }
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); }); }
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"); }