Ejemplo n.º 1
0
        public int Atualizar(EspecialistaDto especialistaDto, int id)
        {
            EspecialistaDomain especialista = _context.Especialistas.FirstOrDefault(x => x.Id == id);

            // atualizar dados
            especialista.Nome          = especialistaDto.Nome;
            especialista.Especialidade = especialistaDto.Especialidade;

            _context.Especialistas.Update(especialista);

            if (!string.IsNullOrEmpty(especialistaDto.Email) && !string.IsNullOrEmpty(especialistaDto.Senha))
            {
                //achar usuario relacionado
                UsuarioDomain usuario    = _context.Usuarios.FirstOrDefault(x => x.Id == especialista.UsuarioId);
                UsuarioDto    usuarioDto = new UsuarioDto {
                    Email = especialistaDto.Email,
                    Senha = especialistaDto.Senha
                };

                var novoUsuario = new AuthRepository(_context).CriarUsuario(usuarioDto);
                usuario.Email         = novoUsuario.Email;
                usuario.PasswordHash  = novoUsuario.PasswordHash;
                usuario.PasswordSalt  = novoUsuario.PasswordSalt;
                usuario.DataAlteracao = DateTime.Now;

                _context.Usuarios.Update(usuario);
            }

            return(_context.SaveChanges());
        }
        public IActionResult Atualizar([FromBody] EspecialistaDto especialistaDto, int id)
        {
            var s = _repo.Atualizar(especialistaDto, id);

            if (s == 0)
            {
                return(BadRequest("Problema ao tentar atualizar especialista"));
            }

            return(Ok("Especialista atualizado(a)"));
        }
Ejemplo n.º 3
0
        public IActionResult CadastrarEspecialista([FromBody] EspecialistaDto especialistaDto)
        {
            //Verificar se o Email já está cadastrado
            if (_repo.UsuarioExiste(especialistaDto.Email))
            {
                return(BadRequest("Email já cadastrado"));
            }

            //Criar FuncionarioDto e cadastrar
            var especialista = _repo.CadastrarEspecialista(especialistaDto);

            if (especialista == null)
            {
                return(BadRequest("Problema ao tentar cadastrar especialista"));
            }

            return(Ok("Especialista cadastrado"));
        }
Ejemplo n.º 4
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);
            }
        }