public async Task <Guid> Adicionar(AdicionarUsuario adicionarUsuario) { var usuario = new Usuario(adicionarUsuario.Nome, adicionarUsuario.Email, adicionarUsuario.Cpf, adicionarUsuario.DataDeNascimento); await _appDbContext.Usuarios.AddAsync(usuario); await _appDbContext.SaveChangesAsync(); return(usuario.Id); }
public async Task <IActionResult> Adicionar([FromBody] AdicionarUsuario adicionarUsuario) { // recebo a requisição e passo a responsabilidade de fazer a lógica de adicionar para outra classe (Princípio da Responsabilidade única (SOLID)) // os metodos do controller não tem de ter muito código. basicamente uma linha que repassa a requisição pra outra classe fazer o cadastro // e outra linha que retorna a reposta para o frontend var validar = _validarUsuario.Validate(adicionarUsuario); if (!validar.IsValid) { return(BadRequest(validar.Errors)); } Guid id = await _usuarioAdd.Adicionar(adicionarUsuario); return(CreatedAtAction(nameof(Obter), id)); }
public async Task <ActionResult <UsuarioViewModel> > Adicionar([FromBody] AdicionarUsuario model) { var command = Mapper.Map <AdicionarUsuarioCommand>(model); return(Ok(await Mediator.Send(command))); }