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)")); }
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")); }
/// <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); } }