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 int Deletar(int id) { //encontrar funcionario pelo id EspecialistaDomain especialista = _context.Especialistas.FirstOrDefault(x => x.Id == id); UsuarioDomain usuario = _context.Usuarios.FirstOrDefault(y => y.Id == especialista.UsuarioId); //remover funcionario e usuario _context.Especialistas.Remove(especialista); _context.Usuarios.Remove(usuario); return(_context.SaveChanges()); }
public EspecialistaDomain BuscarPorId(int id) { try{ EspecialistaDomain especialista = _context.Especialistas .Include(e => e.Usuario) .ThenInclude(u => u.Permissoes) .ThenInclude(p => p.Permissao) .FirstOrDefault(x => x.Id == id); return(especialista); } catch (Exception e) { throw new Exception(e.Message); } }
public IActionResult BuscarPorId(int id) { try{ EspecialistaDomain especialista = _repo.BuscarPorId(id); if (especialista == null) { return(NotFound("Especialista não encontrado(a)")); } return(Ok(especialista)); } catch (Exception e) { throw new Exception(e.Message); } }
/// <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); } }