コード例 #1
0
ファイル: UserCommandHandler.cs プロジェクト: leocosta/landy
        public async Task <CreateUserResult> Handle(CreateUserCommand command, CancellationToken cancellationToken)
        {
            commandValidator.ValidateAndThrow(command);

            var user = mapper.Map <User>(command.User);

            await userRepository.AddOrUpdateAsync(user);

            await unitOfWork.SaveChangesAsync();

            var request = new CreateEmailMessageRequest
            {
                Message = new EmailMessage
                {
                    Subject = "Bem-vindo ao Landy!",
                    From    = "*****@*****.**",
                    Tos     = user.Email,
                    Body    = "Sua conta foi criada com sucesso."
                }
            };

            var response = await emailClient.CreateEmailMessageAsync(request);

            Console.WriteLine($"Message Id: { response.Message.Id }");

            var result = new CreateUserResult
            {
                User = mapper.Map <UserDto>(user)
            };

            return(result);
        }
コード例 #2
0
        public override async Task <CreateEmailMessageResponse> CreateEmailMessage(
            CreateEmailMessageRequest request, ServerCallContext context)
        {
            var emailMessage = new EmailMessageDto()
            {
                From    = request.Message.From,
                Tos     = request.Message.Tos,
                CCs     = request.Message.CCs,
                BCCs    = request.Message.BCCs,
                Subject = request.Message.Subject,
                Body    = request.Message.Body,
            };

            var result = await mediator.Send(new CreateEmailMessageCommand(emailMessage));

            var response = new CreateEmailMessageResponse
            {
                Message = new EmailMessage
                {
                    Id = result.Message.Id.ToString()
                }
            };

            return(response);
        }