Esempio n. 1
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="especialistaDto"></param>
        /// <returns></returns>
        public EspecialistaDomain CadastrarEspecialista(EspecialistaDto especialistaDto)
        {
            try{
                //criar UsuarioDto e criar UsuarioDomain com senha hash
                var usuarioDto = new UsuarioDto {
                    Email = especialistaDto.Email,
                    Senha = especialistaDto.Senha
                };

                UsuarioDomain usuario = CriarUsuario(usuarioDto);

                //inserir no banco
                _context.Usuarios.Add(usuario);

                //criar e inserir EspecialistaDomain no banco
                EspecialistaDomain especialista = new EspecialistaDomain {
                    Nome          = especialistaDto.Nome,
                    Especialidade = especialistaDto.Especialidade,
                    Usuario       = usuario
                };

                PermissaoDomain permissao = _context.Permissoes.FirstOrDefault(x => x.Permissao == "Especialista");

                UsuarioPermissaoDomain usuarioPermissao = new UsuarioPermissaoDomain {
                    UsuarioId   = usuario.Id,
                    PermissaoId = permissao.Id
                };

                _context.UsuariosPermissoes.Add(usuarioPermissao);

                _context.Especialistas.Add(especialista);

                //salvar alterações
                _context.SaveChanges();

                //retornar especialista com include de usuário
                return(especialista);
            }
            catch (Exception e) {
                throw new Exception(e.Message);
            }
        }
Esempio n. 2
0
 public IActionResult Atualizar(PermissaoDomain permissao)
 {
     return(Ok(_repo.Atualizar(permissao)));
 }
Esempio n. 3
0
 public IActionResult Cadastrar(PermissaoDomain permissao)
 {
     return(Ok(_repo.Inserir(permissao)));
 }
Esempio n. 4
0
 public IActionResult Inserir([FromBody] PermissaoDomain Permissao)
 {
     return(Ok(_repo.Inserir(Permissao)));
 }