public async Task <Guid> Cadastrar(AddUsuarioViewModel usuarioViewModel) { var createCommand = _mapper.Map <CreateUsuarioCommand>(usuarioViewModel); await _busMS.PublishAsync(createCommand); return(createCommand.Id); }
public async Task HandleAsync(CreateUsuarioCommand message) { //TODO: Remover a parte de identity do dominio e passar para o service app''1 // Cria usuário no Identity var userIdentity = new ApplicationUser { UserName = message.Usuario, Email = message.Email, Active = true, FirstPass = true }; var result = await _userManager.CreateAsync(userIdentity, message.Senha); if (!result.Succeeded) { NotificarValidacoesErroIdentity(message.Id, result.Errors); await SalvarNotificacoes(); await _busMS.PublishAsync(new CreateUsuarioRejectedEvent(message.Id, message.Nome, message.CPF, message.Email, message.Ativo, message.DataCadastro, message.AspNetUserId)); } //Cria usuário de aplicação var usuario = UsuarioModel.UsuarioModelFactory.NovoUsuarioCompleto(message.Id, message.Nome, message.CPF, message.Email, message.AspNetUserId, message.DataCadastro, message.Ativo); usuario.SetAspNetUserId(userIdentity.Id); usuario.AtivarUsuario(); if (!UsuarioValido(usuario)) { return; } _userRepo.Add(usuario); if (Commit()) { await _busMS.PublishAsync(new UsuarioCreatedEvent(usuario.Id, usuario.Nome, usuario.CPF, usuario.Email, usuario.Ativo, usuario.DataCadastro, usuario.AspNetUserId)); } else { await SalvarNotificacoes(); await _busMS.PublishAsync(new CreateUsuarioRejectedEvent(message.Id, message.Nome, message.CPF, message.Email, message.Ativo, message.DataCadastro, message.AspNetUserId)); }; }