Beispiel #1
0
        public void Join(User user)
        {
            CheckIfCreated();
            CheckIfDeleted();

            var payload     = new { UserId = user.Id };
            var jsonPayload = JsonConvert.SerializeObject(payload);

            var teamJoinedEvent = new TeamJoinedEvent(
                Id,
                Version + 1,
                jsonPayload);

            Apply(teamJoinedEvent);
        }
Beispiel #2
0
        public void Handle(TeamJoinedEvent domainEvent)
        {
            LogToConsole(domainEvent);

            dynamic eventData = JsonConvert.DeserializeObject(domainEvent.JsonPayload);

            var     query = new GetUserQuery((Guid)eventData.UserId);
            dynamic user  = JsonConvert.DeserializeObject(_bus.PublishQuery(query));

            var newMembership = new TeamMembership
            {
                Id       = Guid.NewGuid(),
                Approved = false,
                TeamId   = domainEvent.AggregateId,
                UserId   = (Guid)eventData.UserId,
                UserName = (string)user.UserName
            };

            _teamMembershipRepository.Add(newMembership);
        }