Пример #1
0
        private void Verify <T>() where T : IMonstersView
        {
            var slayed1 = new MonsterSlayed {
                Name = "Troll"
            };
            var slayed2 = new MonsterSlayed {
                Name = "Dragon"
            };
            var streamId = theSession.Events
                           .StartStream(slayed1, slayed2).Id;

            theSession.SaveChanges();

            var loadedView = theSession.Load <T>(streamId);

            loadedView.ShouldNotBeNull();
            loadedView !.Id.ShouldBe(streamId);
            loadedView.Monsters.ShouldHaveTheSameElementsAs("Troll", "Dragon");

            var queriedView = theSession.Query <T>()
                              .Single(x => x.Id == streamId);

            queriedView.Id.ShouldBe(streamId);
            queriedView.Monsters.ShouldHaveTheSameElementsAs("Troll", "Dragon");
        }
Пример #2
0
        public void Apply(MonsterSlayed slayed)
        {
            if (Monsters == null)
            {
                Monsters = new List <string>();
            }

            Monsters.Fill(slayed.Name);
        }
        public void run_inline_aggregation_with_private_constructor()
        {
            var slayed1 = new MonsterSlayed {
                Name = "Troll"
            };
            var slayed2 = new MonsterSlayed {
                Name = "Dragon"
            };
            var streamId = theSession.Events
                           .StartStream <QuestMonstersWithPrivateConstructor>(slayed1, slayed2).Id;

            theSession.SaveChanges();

            var loadedView = theSession.Load <QuestMonstersWithPrivateConstructor>(streamId);

            loadedView.Id.ShouldBe(streamId);
            loadedView.Monsters.ShouldHaveTheSameElementsAs("Troll", "Dragon");

            var queriedView = theSession.Query <QuestMonstersWithPrivateConstructor>()
                              .Single(x => x.Id == streamId);

            queriedView.Id.ShouldBe(streamId);
            queriedView.Monsters.ShouldHaveTheSameElementsAs("Troll", "Dragon");
        }
Пример #4
0
 public void Apply(MonsterSlayed slayed)
 {
     _monsters.Fill(slayed.Name);
 }
 private void Project(QuestMonstersWithBaseClassAndIdOverloaded view, MonsterSlayed @event)
 {
     view.Apply(@event);
 }
 private void Project(QuestMonstersWithBaseClass view, MonsterSlayed @event)
 {
     view.Apply(@event);
 }
        // ENDSAMPLE

        // SAMPLE: using_live_transformed_events
        public void using_live_transformed_events(IDocumentSession session)
        {
            var started = new QuestStarted { Name = "Find the Orb" };
            var joined = new MembersJoined { Day = 2, Location = "Faldor's Farm", Members = new string[] { "Garion", "Polgara", "Belgarath" } };
            var slayed1 = new MonsterSlayed { Name = "Troll" };
            var slayed2 = new MonsterSlayed { Name = "Dragon" };

            MembersJoined joined2 = new MembersJoined { Day = 5, Location = "Sendaria", Members = new string[] { "Silk", "Barak" } };


            session.Events.StartStream<Quest>(started, joined, slayed1, slayed2);
            session.SaveChanges();

            // Our MonsterDefeated documents are created inline
            // with the SaveChanges() call above and are available
            // for querying
            session.Query<MonsterDefeated>().Count()
                .ShouldBe(2);
        }
 private void Project(QuestMonstersWithProtectedIdSetter view, MonsterSlayed @event)
 {
     view.Apply(@event);
 }
Пример #9
0
 private void Project(QuestMonstersWithDefaultPrivateConstructorAndNonDefaultPublicConstructor view, MonsterSlayed @event)
 {
     view.Apply(@event);
 }
Пример #10
0
 protected bool Equals(MonsterSlayed other)
 {
     return(QuestId.Equals(other.QuestId) && Name == other.Name);
 }
Пример #11
0
        public void Apply(MonsterSlayed slayed)
        {
            Monsters ??= new List <string>();

            Monsters.Fill(slayed.Name);
        }