Diagrama de Classes - Gabr1elAlbuquerque/AgendaTelefonica GitHub Wiki

A imagem a seguir apresenta o diagrama de classes do sistema desenvolvido. WhatsApp Image 2024-06-12 at 23 20 01_698e61ae

Pacotes

ProjetoAgendaTelefonica

Agrupa as classes de todo o projeto.

Classes

Program

Classe responsável pela inicialização do sistema.

Métodos

static void Main();

Ponto de entrada do sistema

Inicio

Atributos

List <Contatos> ListaDeContatos;

Métodos

public Inicio();

Método construtor

private void CarregarContatosDoJson();

Responsável por realizar a abertura do arquivo json.

private void CarregaLista();

Responsável por realizar a leitura e organização dos contatos salvos.

public void AtualizarContatos();

Responsável por limpar a lista inicialmente e executar os métodos mencionados acima.

Contato

Atributos

public string Nome;

Referente ao nome do contato.

public strig Email;

Referente ao e-mail do contato.

public List<string> Telefones;

Referente ao telefone fixo do contato.

public List<string> Celulares;

Referente ao relefone celular do contato.

Métodos

public Contato();

Construtor Vazio

public Contato(string nome, string email, List<string>telefones, List<string>celulares);

Construtor completo

Entrada

  • nome: string, referente ao nome do contato
  • email: string, referente ao e-mail do contato
  • telefones: lista, referente ao telefone fixo do contato
  • celulares: lista, referente ao telefone celular do contato

Cadastro

Atributos

private Inicio inicioAux;

Recebe um objeto da classe Inicio

Metodos

public Cadastro(Inicio inicio);

Método construtor da classe Cadastro.

MostrarContato

Atributos

private Contato contatoAux;

Recebe um objeto da classe Contato

private Inicio inicioAux;

Recebe um objeto da classe Inicio.

Métodos

public MostrarContato(Contato contato, Inicio inicio);

Método construtor

Entrada

  • contato: Contato, referente a um objeto da contato
  • inicio: Inicio, referente um objeto da classe início

private void popularGrid();

Método responsável por popular os campos de texto na tela.

private bool ComparaAlteracoes(); Metodo responsável por realizar a comparação entre o que está na tela e o contato armazenado.

Retorno

  • true ou false: bool

ArquivoJson

Atributos

public string path;

Relativo ao caminho do arquivo JSON no diretório.

Métodos

public ArquivoJson(string path);

Método construtor

public void SalvarDados(List<T> lista, T dado);

public void ApagarDados(List<T> lista, T dado);

ContatosJson

Atributos

public Contato contato;

Referente a um objeto da classe contato.

Metodos

public ContatosJson(string path_);

Metodo construtor

public void SalvarDados(List<Contato> listaDeContatos, Contato novoContato);

Método responsável por salvar o contato no arquivo Json

Entrada

  • listaDeContatos: List<Contato>
  • novoContato: Contato

public void ApagarDados(List<Contato> listaDeContatos, string nome);

Método responsável por excluir o contato no arquivo Json

Entrada

  • listaDeContatos: List<Contato>
  • nome: string

public Contato PreparaContato(string nome, string email, DataGridView numerosCelular, DataGridView numerosTelefone );

Método responsável por pegar os dados da tela e transformar em um objeto contato.

Entrada

  • nome: string
  • email: string
  • numerosCelular: DataGridView
  • numerosTelefone: DataGridView

Retorno

Retorna um objeto do tipo Contato

Validacao

Classe responsável por fazer as validações

Métodos

public bool ValidaNome(string nome);

Método responsável por validar o nome do contato

Entrada

  • nome: string, referente ao nome do contato.

Retorno

bool

public bool VerificarNumeroCelular(DataGridView dataCelular);

Método responsável por validar o número de celular do contato.

Entrada

  • dataCelular: DataGridView

Retorno

bool

public bool VerificarNumeroTelefone(DataGridView dataTelefone);

Método responsável por realizar a validação do número de telefone fixo do contato.

Entrada

  • dataTelefone: DataGridView

Retorno

  • bool

public bool VerificarEmail(string email);

Método responsável por verificar o e-mail do contato.

Entrada

  • email: string

Retorno

  • bool

public bool NomeJaExistente(List<Contato> contatos, string nome);

Método responsável por validar se o contato que o usuário está tentando acessar não já está salvo.

Entrada

  • contatos: List<contato>
  • nome: string

Retorno

  • bool

public Contato EmailJaExistente(List<Contato> contatos, string email);

Método responsável por validar se o e-mail que está tentando ser adicionado já não foi adicionado anteriormente.

Entrada

  • contatos: List<Contato>
  • email: string

Retorno

  • bool

public Contato TelefoneJaExistente(List<Contato> contatos, string telefone);

Método responsável para validar se o Telefone fixo que está tentando ser adicionado já não está cadastrado.

Entrada

  • contatos: List<Contato>
  • telefone: string

public Contato CelularJaExistente(List<Contato> contatos, string celular);

Método responsável para validar se o celular que está tentando ser adicionado não está cadastrado.

Entrada

  • contatos: List<Contato>
  • celular: string

Retorno

  • bool

public bool VerificaMascara(string texto, string padrao);

Entrada

  • texto: string
  • padrao: string

Retorno

  • bool
⚠️ **GitHub.com Fallback** ⚠️