Пример #1
0
        public async Task <AppResponse> CriarCoordenador(CriarCoordenadorRequest request)
        {
            var usuario = new Usuario(request.Nome, request.UserName, request.Email);

            if (!usuario.TaValido())
            {
                return(new AppResponse(false, ERRO_CRIAR_COORDENADOR, usuario.ObterErros()));
            }

            IdentityResult result = await _userManager.CreateAsync(usuario, request.Senha);

            if (!result.Succeeded)
            {
                return(new AppResponse(false, ERRO_CRIAR_COORDENADOR, IdentityHelper.ObterErros(result)));
            }
            else
            {
                IdentityResult resultRole = await _userManager.AddToRoleAsync(usuario, ROLE_COORDENADOR);

                if (!resultRole.Succeeded)
                {
                    return(new AppResponse(false, ERRO_CRIAR_COORDENADOR, IdentityHelper.ObterErros(result)));
                }

                usuario.Coordenador = new Coordenador {
                    UsuarioId = usuario.Id
                };
                await _uow.CommitAsync();
            }
            return(new AppResponse(true, MSG_CRIAR_COORDENADOR, new CoordenadorDTO(usuario.Coordenador)));
        }
        public async Task <IActionResult> Post([FromBody] CriarCoordenadorRequest request)
        {
            AppResponse resposta = await _usuarioServico.CriarCoordenador(request);

            if (resposta.Sucesso)
            {
                return(Ok(resposta));
            }

            return(BadRequest(resposta));
        }