예제 #1
0
        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);
        }
예제 #2
0
        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)));
        }