Пример #1
0
        public async Task HandleAsync(InvitationSentEvent message)
        {
            var invitation = new Invitation();

            invitation.Transit(message);
            await this.domainRepository.SaveAsync <Guid, Invitation>(invitation);

            var network = new NetworkTableObject
            {
                InvitationId        = invitation.Id.ToString(),
                OriginatorId        = message.AggregateRootKey.ToString(),
                TargetId            = message.TargetUserId.ToString(),
                OriginatorName      = message.OriginatorName,
                TargetUserName      = message.TargetUserName,
                InvitationStartDate = message.Timestamp,
                InvitationEndReason = InvitationEndReason.None
            };

            await this.tableGateway.InsertAsync <NetworkTableObject>(new[] { network });
        }
Пример #2
0
 public void Transit(InvitationSentEvent message)
 {
     ApplyEvent(new InvitationSentTransitionEvent(this.Id, message.OriginatorId, message.TargetUserId, message.InvitationLetter));
 }