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 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();
        }
 public DinnerRepository(NerdDinners db)
 {
     this.db = db;
 }
 public DinnerRepository()
 {
     this.db = DependencyResolver.Current.GetService<INerdDinners>() as NerdDinners;
 }
 public DinnerRepository(NerdDinners db)
 {
     this.db = db;
 }
 public DinnerRepository()
 {
     this.db = DependencyResolver.Current.GetService <INerdDinners>() as NerdDinners;
 }
        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();
        }
        private void AssertRSVPCountFor(int dinnerId,int expectedCount)
        {
            var popular = new NerdDinners().PopularDinners.Find(dinnerId);

            Assert.AreEqual(expectedCount,popular.RSVPCount, "RSVP count was wrong");
        }
 private static void Raise(RSVPed rsvped)
 {
     var dinners = new NerdDinners();
     PopularDinner.Handle(dinners,Event.Make(rsvped,Guid.NewGuid(),0));
     dinners.SaveChanges();
 }