コード例 #1
0
        public async Task Handle(EmailChanged e, IMessageHandlerContext ctx)
        {
            var get = await _uow.Get <presentationUsers.Models.AuUserResponse>(e.UserId);

            get.Email = e.Email;

            _uow.Save(get);
            ctx.Update(get, ChangeType.Change);
        }
コード例 #2
0
        public async Task Handle(EmailChanged e, IHandleContext ctx)
        {
            var get = await _uow.Get <presentationUsers.Models.AU_UserResponse>(e.UserId);

            get.Email = e.Email;

            _uow.Save(get);
            ctx.UpdateAsync(get, ChangeType.CHANGE);
        }
コード例 #3
0
        public void TestSerializationOfEmailChanged()
        {
            var evt = new EmailChanged("EMAILADRESS", true);

            var bytes    = LZ4MessagePackSerializer.Serialize <IEvent>(evt, AspnetIdentityResolver.Instance);
            var eventChk = LZ4MessagePackSerializer.Deserialize <IEvent>(bytes, AspnetIdentityResolver.Instance) as EmailChanged;

            Assert.Equal(evt.Email, eventChk.Email);
            Assert.Equal(evt.Normalized, eventChk.Normalized);
        }
コード例 #4
0
        public void Handle(EmailChanged e)
        {
            using (IDocumentSession session = _store.OpenSession())
            {
                var user = session.Load <User>(e.UserId);

                user.Email = e.Email;

                session.Store(user);
                session.SaveChanges();
            }
        }
コード例 #5
0
        public void Handle(EmailChanged e)
        {
            using (var session = _store.OpenSession())
            {
                var get = session.Load <Responses.Get>(e.UserId);

                get.Email = e.Email;

                session.SaveChanges();

                _manager.Publish(get);
            }
        }
コード例 #6
0
        private void HandleEvent(IActorRef _, EmailChanged evt)
        {
            if (evt.Normalized)
            {
                user.NormalizedEmail = evt.Email;
            }
            else
            {
                user.Email = evt.Email;
            }
            if (!inSync)
            {
                return;
            }

            if (evt.Normalized)
            {
                coordinator.Tell(new ActorMessages.UserCoordinator.NotifyUserEvent(new ActorMessages.UserCoordinator.UserEmailChanged <TKey>(userId, evt.Email)));
            }
        }
コード例 #7
0
 private bool TestCommand(SetEmail evt, out IEvent e)
 {
     e = null;
     if (user == null)
     {
         return(false);
     }
     if (!evt.Normalized)
     {
         if (!string.Equals(user.Email, evt.Email))
         {
             e = new EmailChanged(evt.Email, evt.Normalized);
         }
     }
     else
     {
         if (!string.Equals(user.NormalizedEmail, evt.Email))
         {
             e = new EmailChanged(evt.Email, evt.Normalized);
         }
     }
     return(true);
 }
コード例 #8
0
        public async Task GIVEN__WHEN__THEN_()
        {
            // Arrange
            var config = new ConfigurationBuilder()
                         .AddJsonFile("appsettings.json")
                         .Build();

            // Act
            var eventStore = new MongoEventStore(config, _mongoClient);

            var event1 = new UserCreated(Guid.NewGuid().ToString(), "User1", "*****@*****.**");

            event1.SetVersion(0);

            var event2 = new UserCreated(Guid.NewGuid().ToString(), "User2", "*****@*****.**");

            event2.SetVersion(0);


            var event3 = new EmailChanged(event1.AggregateRootId, "*****@*****.**");

            event3.SetVersion(1);

            var events = new Event[]
            {
                event1,
                event2,
                event3
            };

            //Assert
            await eventStore.SaveAsync(events);

            var dbEvents = await eventStore.GetByAggregateRootIdAsync(event1.AggregateRootId, event1.Version - 1);

            //var dbEvents = await eventStore.GetByAggregateRootIdAsync("a85e452e-034b-11eb-8725-77832f2f0171", -1);
        }
コード例 #9
0
ファイル: ApiHub.cs プロジェクト: vvsvin/Money
 Task IEventHandler <EmailChanged> .HandleAsync(EmailChanged payload) => RaiseEvent(payload);
コード例 #10
0
ファイル: User.cs プロジェクト: iancooper/AtomEventStore
 public User Accept(EmailChanged @event)
 {
     return new User(
         this.id,
         this.name,
         this.password,
         @event.NewEmail,
         false);
 }
コード例 #11
0
 void FireEmailChanged(EmailFolderChangeType changeType, Email email)
 {
     EmailChanged?.Invoke(this, new EmailFolderChangeEventArgs {
         ChangeType = changeType, Email = email
     });
 }