private async Task <ResponseMessage> RegisterClient(RegistredUserIntegrationEvent message)
        {
            var clientCommand = new RegisterClientCommand(message.Id, message.Name, message.Email, message.Cpf);
            ValidationResult success;

            using (var scope = _serviceProvider.CreateScope())
            {
                var mediator = scope.ServiceProvider.GetRequiredService <IMediatrHandler>();
                success = await mediator.SendCommand(clientCommand);
            }

            return(new ResponseMessage(success));
        }
예제 #2
0
        private async Task <ResponseMessage> ClientRegister(UserRegister userRegister)
        {
            var user = await _userManager.FindByEmailAsync(userRegister.Email);

            var userRegistred = new RegistredUserIntegrationEvent(
                Guid.Parse(user.Id), userRegister.Name, userRegister.Email, userRegister.Cpf);

            try
            {
                return(await _bus.RequestAsync <RegistredUserIntegrationEvent, ResponseMessage>(userRegistred));
            }
            catch (Exception)
            {
                await _userManager.DeleteAsync(user);

                throw;
            }
        }