·

Cursos Gerais ·

Engenharia de Software

Send your question to AI and receive an answer instantly

Ask Question

Preview text

Elaborar um projeto em Windows Forms para o cadastro consulta atualização e exclusão de uma entidade no Banco de Dados MySQL contendo a seguinte estrutura 1 Uma Classe a Exceto exemplos Cliente Produto Funcionário Fornecedor Alunos e Professor 2 Utilizar o conceito de MDI Form sendo um Form filho para cada evento a seguir CRUP Inserir Consultar Atualizar e Apagar 3 Não há necessidade de criar um atributo com tipo construído ex endereço opcional 4 Necessária a criação de classe com padrão DAO 5 Enviar um arquivo em PDF contendo a Incluir as Referências ou Link pesquisados b Código C classes e módulo de controle ex principal PAI Form de cadastro Filho Form de consulta Filho Form de atualização Filho e Form de exclusão Filho 6 Print de tela em execução 7 Considerar no mínimo 6 campos IMPORTANTE Entregar em um arquivo PDF Trabalho Desenvolvimento Windows Forms Para o desenvolvimento do trabalho foi realizada uma busca na internet a fim de definir um modelo de tela que seria desenvolvido Foi utilizado a tela abaixo como base e a criatividade Disponível através do link httpsprogramandodotnetfileswordpresscom201004cadastrodeclientesjpg Estrutura Para o desenvolvimento do projeto foram desenvolvidas 2 classes conforme solicitado sendo uma para Animal e outra para a conexão do banco AnimalDAO A seguir o código de ambas as classes using System using SystemCollectionsGeneric using SystemLinq using SystemText using SystemThreadingTasks namespace Vet class Animal public int Id get set public string Nome get set public string Especie get set public string Raca get set public string Tutor get set public DateTime DataNascimento get set public string Observacoes get set public string CPF get set Construtor padrão public Animal Construtor com parâmetros public Animalstring nome string especie string raca string tutor string cpf DateTime dataNascimento string observacoes Nome nome Especie especie Raca raca Tutor tutor CPF cpf DataNascimento dataNascimento Observacoes observacoes public Animalint id string nome string especie string raca string tutor string cpf DateTime dataNascimento string observacoes Id id Nome nome Especie especie Raca raca Tutor tutor CPF cpf DataNascimento dataNascimento Observacoes observacoes Método para exibir informações do animal public void ExibirInformacoes ConsoleWriteLineNome Nome ConsoleWriteLineEspécie Especie ConsoleWriteLineRaça Raca ConsoleWriteLineTutor Tutor ConsoleWriteLineCPF CPF ConsoleWriteLineData de Nascimento DataNascimentoToShortDateString ConsoleWriteLineObservações Observacoes using System using SystemCollectionsGeneric using SystemLinq using SystemText using SystemThreadingTasks using SystemData using MySqlDataMySqlClient namespace Vet class AnimalDAO private string connectionString public AnimalDAOstring connectionString thisconnectionString connectionString função para inserção dos dados do animal no banco public void InserirAnimalAnimal animal using var connection new MySqlConnectionconnectionString connectionOpen var query INSERT INTO animais Nome Especie Raca Tutor Cpf DataNascimento Observacoes VALUES Nome Especie Raca Tutor CPF DataNascimento Observacoes using var command new MySqlCommandquery connection commandParametersAddWithValueNome animalNome commandParametersAddWithValueEspecie animalEspecie commandParametersAddWithValueRaca animalRaca commandParametersAddWithValueTutor animalTutor commandParametersAddWithValueCPF animalCPF commandParametersAddWithValueDataNascimento animalDataNascimento commandParametersAddWithValueObservacoes animalObservacoes commandExecuteNonQuery função que realiza a consulta no banco de acordo com o nome informado e retorna todos que satisfazem a condição em uma lista public ListAnimal ConsultarAnimaisPorNomestring nome ListAnimal animais new ListAnimal using MySqlConnection connection new MySqlConnectionconnectionString string query SELECT FROM Animais WHERE Nome LIKE Nome MySqlCommand command new MySqlCommandquery connection commandParametersAddWithValueNome nome try connectionOpen using MySqlDataReader reader commandExecuteReader while readerRead int id readerGetInt32Id string nomeAnimal readerGetStringNome string especie readerGetStringEspecie string raca readerGetStringRaca string tutor readerGetStringTutor var cpf readerGetStringCpf DateTime dataNascimento readerGetDateTimeDataNascimento string observacoes readerGetStringObservacoes Animal animal new Animalid nomeAnimal especie raca tutor cpf dataNascimento observacoes animaisAddanimal catch Exception ex ConsoleWriteLineErro ao consultar animais exMessage return animais função que realiza a consulta no banco retornando uma lista com todos os animais cadastrados public ListAnimal ConsultarAnimais var animais new ListAnimal using var connection new MySqlConnectionconnectionString connectionOpen var query SELECT FROM animais using var command new MySqlCommandquery connection using var reader commandExecuteReader while readerRead var id readerGetInt32Id var nome readerGetStringNome var especie readerGetStringEspecie var raca readerGetStringRaca var tutor readerGetStringTutor var cpf readerGetStringCpf var dataNascimento readerGetDateTimeDataNascimento var observacoes readerGetStringObservacoes var animal new Animalid nome especie raca tutor cpf dataNascimento observacoes animaisAddanimal return animais função para a atualização das informações do animal onde recebe todos os dados do tipo animal public void AtualizarAnimalAnimal animal using var connection new MySqlConnectionconnectionString connectionOpen var query UPDATE animais SET Nome Nome Especie Especie Raca Raca Tutor Tutor Cpf CPF DataNascimento DataNascimento Observacoes Observacoes WHERE Id Id using var command new MySqlCommandquery connection commandParametersAddWithValueNome animalNome commandParametersAddWithValueEspecie animalEspecie commandParametersAddWithValueRaca animalRaca commandParametersAddWithValueTutor animalTutor commandParametersAddWithValueCPF animalCPF commandParametersAddWithValueDataNascimento animalDataNascimento commandParametersAddWithValueObservacoes animalObservacoes commandParametersAddWithValueId animalId commandExecuteNonQuery função que faz a exclusão do animal de acordo com o id informado public void ExcluirAnimalint animalId using var connection new MySqlConnectionconnectionString connectionOpen var query DELETE FROM animais WHERE Id Id using var command new MySqlCommandquery connection commandParametersAddWithValueId animalId commandExecuteNonQuery Para o desenvolvimento deste projeto foi utilizado o phpMyAdmin utilizando a seguinte estrutura A base foi criada utilizando a interface e a tabela foi através do script abaixo CREATE TABLE Animais Id INT PRIMARY KEY AUTOINCREMENT Nome VARCHAR100 NOT NULL Especie VARCHAR100 NOT NULL Raca VARCHAR100 NOT NULL Tutor VARCHAR100 NOT NULL Cpf VARCHAR30 NOT NULL DataNascimento DATE NOT NULL Observacoes TEXT Arquivo de conexão do projeto A seguir são apresentadas as telas Primeiro temos a tela principal Foi inserida uma configuração no formulário principal para que seja adotada o conceito de MDI E no código foi definido em cada menu que o Formulário principal seria o pai abaixo tem o código using System using SystemCollectionsGeneric using SystemComponentModel using SystemData using SystemDrawing using SystemLinq using SystemText using SystemThreadingTasks using SystemWindowsForms namespace Vet public partial class Form1 Form public Form1 InitializeComponent private void inserirToolStripMenuItemClickobject sender EventArgs e Form frinserir new Inserir frinserirMdiParent this frinserirShow private void consultarToolStripMenuItemClickobject sender EventArgs e Form frconsultar new Consultar frconsultarMdiParent this frconsultarShow private void alterarToolStripMenuItemClickobject sender EventArgs e Form fralterar new Alterar fralterarMdiParent this fralterarShow private void apagarToolStripMenuItemClickobject sender EventArgs e Form frapagar new Apagar frapagarMdiParent this frapagarShow Projeto em execução A seguir será apresentada todas as telas em execução e os respectivos códigos ao final do documento Consultar Buscar ID Nome Tutor CPF DataNasci Especie Raça 1 Farofa Mario 1231294392 10112021 Cachorro Vira lata 3 Fumaça Ana 342748121 15072021 Cachorro Sem Inserir Nome Pipoca Espécie Cachorro Tutor Victor Raça Vira Lata CPF 1899266128 Data de Nascimento 09042022 Observação Cor caramelo Inserir Inserir Nome Espécie Tutor Raça CPF Data de Nascimento 15062023 Observação Inserir Animal cadastrado com sucesso OK Consultar Buscar ID Nome Tutor CPF DataNasci Especie Raça 1 Farofa Mario 1231294392 10112021 Cachorro Vira lata 3 Fumaça Ana 342748121 15072021 Cachorro Sem 4 Pipoca Victor 1899266128 09042022 Cachorro Vira L Consultar Fumaça Buscar ID Nome Tutor CPF DataNasci Especie Raça 3 Fumaça Ana 342748121 15072021 Cachorro Sem Consultar Pipoca Buscar ID Nome Tutor CPF DataNasci Especie Raça 4 Pipoca Victor 1899266128 09042022 Cachorro Vira L Alterar Animal a ser alterado Fumaça Ana Nome Fumaça Espécie Cachorro Tutor Ana Raça Sem CPF 342748121 Data de Nascimento 15072021 Observação Preto e com bolinhas pretas nas partes brancas Alterar Alterar Animal a ser alterado Pipoca Victor Nome Pipoca Espécie Cachorro Tutor Victor Raça Vira Lata CPF 1899266128 Data de Nascimento 09042022 Observação Cor caramelo muito arteira Alterar Animal atualizado com sucesso OK Veterinaria Inserir Consultar Alterar Apagar Consultar Buscar ID Nome Tutor CPF DataNasci Raça Observação 1 Farofa Mario 12312943 10112021 Vira lata cor branca predominante 3 Fumaça Ana 342748121 15072021 Sem Preto e com bolinhas preta 4 Pipoca Victor 18992661 09042022 Vira L Cor caramelo muito arteira Apagar Selecione o animal que deseja excluir Fumaça Ana Excluir Selecione o animal que deseja excluir Fumaça Ana Excluir Confirmação de exclusão Tem certeza de que deseja excluir o animal selecionado Sim Não A seguir o código de cada tela using System using SystemCollectionsGeneric using SystemComponentModel using SystemData using SystemDrawing using SystemLinq using SystemText using SystemThreadingTasks using SystemWindowsForms using SystemConfiguration using MySqlDataMySqlClient namespace Vet public partial class Inserir Form private AnimalDAO animalDAO public Inserir InitializeComponent Inicializar o objeto AnimalDAO com a string de conexão correta string connectionString ConfigurationManagerConnectionStringsMySQLConnectionStringConnectionString animalDAO new AnimalDAOconnectionString configura o formato do DateTimePicker dtpDataNascimentoMaxDate DateTimeToday dtpDataNascimentoFormat DateTimePickerFormatCustom dtpDataNascimentoCustomFormat ddMMyyyy private void btnInserirClickobject sender EventArgs e Ler os valores do formulário string nome txtNomeText string especie txtEspecieText string raca txtRacaText string tutor txtTutorText string cpf txtCpfText DateTime dataNascimento dtpDataNascimentoValue string observacoes txtObservacaoText Criar um novo objeto Animal Animal novoAnimal new Animalnome especie raca tutor cpf dataNascimento observacoes Chamar o método de inserção do AnimalDAO animalDAOInserirAnimalnovoAnimal Limpar os campos do formulário após a inserção LimparCampos MessageBoxShowAnimal cadastrado com sucesso private void LimparCampos txtNomeText txtEspecieText txtRacaText txtTutorText txtCpfText dtpDataNascimentoValue DateTimeToday txtObservacaoText using System using SystemCollectionsGeneric using SystemComponentModel using SystemData using SystemDrawing using SystemLinq using SystemText using SystemThreadingTasks using SystemWindowsForms using SystemConfiguration using MySqlDataMySqlClient namespace Vet public partial class Consultar Form private AnimalDAO animalDAO public Consultar InitializeComponent Inicializar o objeto AnimalDAO com a string de conexão correta string connectionString ConfigurationManagerConnectionStringsMySQLConnectionStringConnectionString animalDAO new AnimalDAOconnectionString lstanimalView ViewDetails lstanimalLabelEdit true lstanimalAllowColumnReorder true lstanimalFullRowSelect true lstanimalGridLines true configuração dos labls das colunas do list lstanimalColumnsAddID 30 HorizontalAlignmentLeft lstanimalColumnsAddNome 100 HorizontalAlignmentLeft lstanimalColumnsAddTutor 80 HorizontalAlignmentLeft lstanimalColumnsAddCPF 80 HorizontalAlignmentLeft lstanimalColumnsAddDataNascimento 80 HorizontalAlignmentLeft lstanimalColumnsAddEspecie 80 HorizontalAlignmentLeft lstanimalColumnsAddRaça 50 HorizontalAlignmentLeft lstanimalColumnsAddObservação 150 HorizontalAlignmentLeft private void ConsultarLoadobject sender EventArgs e Carregar os animais do banco de dados ao carregar o formulário CarregarAnimais private void CarregarAnimais Consultar os animais no banco de dados ListAnimal animais animalDAOConsultarAnimais Popular a ListView com os dados dos animais PopularListViewanimais private void PopularListViewListAnimal animais Limpar os itens existentes na ListView lstanimalItemsClear Adicionar os animais como itens na ListView foreach Animal animal in animais ListViewItem item new ListViewItemConvertToStringanimalId itemSubItemsAddanimalNome itemSubItemsAddanimalTutor itemSubItemsAddanimalCPF itemSubItemsAddanimalDataNascimentoToStringddMMyyyy itemSubItemsAddanimalEspecie itemSubItemsAddanimalRaca itemSubItemsAddanimalObservacoes lstanimalItemsAdditem private void btnBuscarClickobject sender EventArgs e string nomeBusca txtBuscaTextTrim Verificar se o campo de busca está preenchido if stringIsNullOrEmptynomeBusca Consultar animais por nome ListAnimal animaisEncontrados animalDAOConsultarAnimaisPorNomenomeBusca Popular a ListView com os animais encontrados PopularListViewanimaisEncontrados else Campo de busca vazio carrega tudo CarregarAnimais using System using SystemCollectionsGeneric using SystemComponentModel using SystemData using SystemDrawing using SystemLinq using SystemText using SystemThreadingTasks using SystemWindowsForms using SystemConfiguration using MySqlDataMySqlClient namespace Vet public partial class Alterar Form private AnimalDAO animalDAO private ListAnimal animais private Animal animalSelecionado public Alterar InitializeComponent Inicializar o objeto AnimalDAO com a string de conexão correta string connectionString ConfigurationManagerConnectionStringsMySQLConnectionStringConnectionString animalDAO new AnimalDAOconnectionString dtpDataNascimentoMaxDate DateTimeToday dtpDataNascimentoFormat DateTimePickerFormatCustom dtpDataNascimentoCustomFormat ddMMyyyy private void AlterarLoadobject sender EventArgs e Carregar os animais no ComboBox CarregarAnimais private void CarregarAnimais Limpar o ComboBox cmbAnimaisItemsClear Carregar os animais do banco de dados animais animalDAOConsultarAnimais Preencher o ComboBox com o nome do animal e do tutor foreach var animal in animais string nomeCompleto animalNome animalTutor cmbAnimaisItemsAddnomeCompleto private void cmbAnimaisSelectedIndexChangedobject sender EventArgs e Obter o animal selecionado com base no índice selecionado no ComboBox int indiceSelecionado cmbAnimaisSelectedIndex if indiceSelecionado 0 indiceSelecionado animaisCount animalSelecionado animaisindiceSelecionado Preencher os campos com os dados do animal selecionado if animalSelecionado null txtNomeText animalSelecionadoNome txtEspecieText animalSelecionadoEspecie txtRacaText animalSelecionadoRaca txtTutorText animalSelecionadoTutor txtCpfText animalSelecionadoCPF dtpDataNascimentoValue animalSelecionadoDataNascimento txtObservacaoText animalSelecionadoObservacoes private void btnAtualizarClickobject sender EventArgs e if animalSelecionado null Atualizar os campos do animal selecionado com os valores do formulário animalSelecionadoNome txtNomeText animalSelecionadoEspecie txtEspecieText animalSelecionadoRaca txtRacaText animalSelecionadoTutor txtTutorText animalSelecionadoCPF txtCpfText animalSelecionadoDataNascimento dtpDataNascimentoValue animalSelecionadoObservacoes txtObservacaoText Chamar o método de atualização do AnimalDAO animalDAOAtualizarAnimalanimalSelecionado MessageBoxShowAnimal atualizado com sucesso CarregarAnimais LimparCampos private void LimparCampos txtNomeText txtEspecieText txtRacaText txtTutorText txtCpfText dtpDataNascimentoValue DateTimeToday txtObservacaoText using System using SystemCollectionsGeneric using SystemComponentModel using SystemData using SystemDrawing using SystemLinq using SystemText using SystemThreadingTasks using SystemWindowsForms using SystemConfiguration using MySqlDataMySqlClient namespace Vet public partial class Apagar Form private AnimalDAO animalDAO private ListAnimal animais private Animal animalSelecionado public Apagar InitializeComponent Inicializar o objeto AnimalDAO com a string de conexão correta string connectionString ConfigurationManagerConnectionStringsMySQLConnectionStringConnectionString animalDAO new AnimalDAOconnectionString private void ApagarLoadobject sender EventArgs e Carregar os animais no ComboBox CarregarAnimais private void CarregarAnimais Limpar o ComboBox cmbAnimaisItemsClear Carregar os animais do banco de dados animais animalDAOConsultarAnimais Preencher o ComboBox com o nome do animal e do tutor foreach var animal in animais string nomeCompleto animalNome animalTutor cmbAnimaisItemsAddnomeCompleto private void cmbAnimaisSelectedIndexChangedobject sender EventArgs e Obter o animal selecionado com base no índice selecionado no ComboBox int indiceSelecionado cmbAnimaisSelectedIndex if indiceSelecionado 0 indiceSelecionado animaisCount animalSelecionado animaisindiceSelecionado private void btnExcluirClickobject sender EventArgs e if cmbAnimaisSelectedItem null DialogResult result MessageBoxShowTem certeza de que deseja excluir o animal selecionado Confirmação de exclusão MessageBoxButtonsYesNo MessageBoxIconQuestion if result DialogResultYes Chamar o método de exclusão do AnimalDAO animalDAOExcluirAnimalanimalSelecionadoId MessageBoxShowAnimal excluído com sucesso CarregarAnimais Trabalho Desenvolvimento Windows Forms Para o desenvolvimento do trabalho foi realizada uma busca na internet a fim de definir um modelo de tela que seria desenvolvido Foi utilizado a tela abaixo como base e a criatividade Disponível através do link httpsprogramandodotnetfileswordpresscom201004cadastrodeclientesjpg Estrutura Para o desenvolvimento do projeto foram desenvolvidas 2 classes conforme solicitado sendo uma para Animal e outra para a conexão do banco AnimalDAO A seguir o código de ambas as classes using System using SystemCollectionsGeneric using SystemLinq using SystemText using SystemThreadingTasks namespace Vet class Animal public int Id get set public string Nome get set public string Especie get set public string Raca get set public string Tutor get set public DateTime DataNascimento get set public string Observacoes get set public string CPF get set Construtor padrão public Animal Construtor com parâmetros public Animalstring nome string especie string raca string tutor string cpf DateTime dataNascimento string observacoes Nome nome Especie especie Raca raca Tutor tutor CPF cpf DataNascimento dataNascimento Observacoes observacoes public Animalint id string nome string especie string raca string tutor string cpf DateTime dataNascimento string observacoes Id id Nome nome Especie especie Raca raca Tutor tutor CPF cpf DataNascimento dataNascimento Observacoes observacoes Método para exibir informações do animal public void ExibirInformacoes ConsoleWriteLineNome Nome ConsoleWriteLineEspécie Especie ConsoleWriteLineRaça Raca ConsoleWriteLineTutor Tutor ConsoleWriteLineCPF CPF ConsoleWriteLineData de Nascimento DataNascimentoToShortDateString ConsoleWriteLineObservações Observacoes using System using SystemCollectionsGeneric using SystemLinq using SystemText using SystemThreadingTasks using SystemData using MySqlDataMySqlClient namespace Vet class AnimalDAO private string connectionString public AnimalDAOstring connectionString thisconnectionString connectionString função para inserção dos dados do animal no banco public void InserirAnimalAnimal animal using var connection new MySqlConnectionconnectionString connectionOpen var query INSERT INTO animais Nome Especie Raca Tutor Cpf DataNascimento Observacoes VALUES Nome Especie Raca Tutor CPF DataNascimento Observacoes using var command new MySqlCommandquery connection commandParametersAddWithValueNome animalNome commandParametersAddWithValueEspecie animalEspecie commandParametersAddWithValueRaca animalRaca commandParametersAddWithValueTutor animalTutor commandParametersAddWithValueCPF animalCPF commandParametersAddWithValueDataNascimento animalDataNascimento commandParametersAddWithValueObservacoes animalObservacoes commandExecuteNonQuery função que realiza a consulta no banco de acordo com o nome informado e retorna todos que satisfazem a condição em uma lista public ListAnimal ConsultarAnimaisPorNomestring nome ListAnimal animais new ListAnimal using MySqlConnection connection new MySqlConnectionconnectionString string query SELECT FROM Animais WHERE Nome LIKE Nome MySqlCommand command new MySqlCommandquery connection commandParametersAddWithValueNome nome try connectionOpen using MySqlDataReader reader commandExecuteReader while readerRead int id readerGetInt32Id string nomeAnimal readerGetStringNome string especie readerGetStringEspecie string raca readerGetStringRaca string tutor readerGetStringTutor var cpf readerGetStringCpf DateTime dataNascimento readerGetDateTimeDataNascimento string observacoes readerGetStringObservacoes Animal animal new Animalid nomeAnimal especie raca tutor cpf dataNascimento observacoes animaisAddanimal catch Exception ex ConsoleWriteLineErro ao consultar animais exMessage return animais função que realiza a consulta no banco retornando uma lista com todos os animais cadastrados public ListAnimal ConsultarAnimais var animais new ListAnimal using var connection new MySqlConnectionconnectionString connectionOpen var query SELECT FROM animais using var command new MySqlCommandquery connection using var reader commandExecuteReader while readerRead var id readerGetInt32Id var nome readerGetStringNome var especie readerGetStringEspecie var raca readerGetStringRaca var tutor readerGetStringTutor var cpf readerGetStringCpf var dataNascimento readerGetDateTimeDataNascimento var observacoes readerGetStringObservacoes var animal new Animalid nome especie raca tutor cpf dataNascimento observacoes animaisAddanimal return animais função para a atualização das informações do animal onde recebe todos os dados do tipo animal public void AtualizarAnimalAnimal animal using var connection new MySqlConnectionconnectionString connectionOpen var query UPDATE animais SET Nome Nome Especie Especie Raca Raca Tutor Tutor Cpf CPF DataNascimento DataNascimento Observacoes Observacoes WHERE Id Id using var command new MySqlCommandquery connection commandParametersAddWithValueNome animalNome commandParametersAddWithValueEspecie animalEspecie commandParametersAddWithValueRaca animalRaca commandParametersAddWithValueTutor animalTutor commandParametersAddWithValueCPF animalCPF commandParametersAddWithValueDataNascimento animalDataNascimento commandParametersAddWithValueObservacoes animalObservacoes commandParametersAddWithValueId animalId commandExecuteNonQuery função que faz a exclusão do animal de acordo com o id informado public void ExcluirAnimalint animalId using var connection new MySqlConnectionconnectionString connectionOpen var query DELETE FROM animais WHERE Id Id using var command new MySqlCommandquery connection commandParametersAddWithValueId animalId commandExecuteNonQuery Para o desenvolvimento deste projeto foi utilizado o phpMyAdmin utilizando a seguinte estrutura A base foi criada utilizando a interface e a tabela foi através do script abaixo CREATE TABLE Animais Id INT PRIMARY KEY AUTOINCREMENT Nome VARCHAR100 NOT NULL Especie VARCHAR100 NOT NULL Raca VARCHAR100 NOT NULL Tutor VARCHAR100 NOT NULL Cpf VARCHAR30 NOT NULL DataNascimento DATE NOT NULL Observacoes TEXT Arquivo de conexão do projeto A seguir são apresentadas as telas Primeiro temos a tela principal Foi inserida uma configuração no formulário principal para que seja adotada o conceito de MDI E no código foi definido em cada menu que o Formulário principal seria o pai abaixo tem o código using System using SystemCollectionsGeneric using SystemComponentModel using SystemData using SystemDrawing using SystemLinq using SystemText using SystemThreadingTasks using SystemWindowsForms namespace Vet public partial class Form1 Form public Form1 InitializeComponent private void inserirToolStripMenuItemClickobject sender EventArgs e Form frinserir new Inserir frinserirMdiParent this frinserirShow private void consultarToolStripMenuItemClickobject sender EventArgs e Form frconsultar new Consultar frconsultarMdiParent this frconsultarShow private void alterarToolStripMenuItemClickobject sender EventArgs e Form fralterar new Alterar fralterarMdiParent this fralterarShow private void apagarToolStripMenuItemClickobject sender EventArgs e Form frapagar new Apagar frapagarMdiParent this frapagarShow Projeto em execução A seguir será apresentada todas as telas em execução e os respectivos códigos ao final do documento Consultar ID Nome Tutor CPF DataNasci Especie Raça 1 Farofa Mario 1231294392 10112021 Cachorro Vira lata 3 Fumaça Ana 342748121 15072021 Cachorro Sem Nome Pipoca Espécie Cachorro Tutor Victor Raça Vira Lata CPF 1899266128 Data de Nascimento 09042022 Observação Cor caramelo Inserir Inserir Nome Espécie Tutor Raça CPF Data de Nascimento 15062023 Observação Inserir Animal cadastrado com sucesso OK Consultar ID Nome Tutor CPF DataNasci Especie Raça 1 Farofa Mario 1231294392 10112021 Cachorro Vira lata 3 Fumaça Ana 342748121 15072021 Cachorro Sem 4 Pipoca Victor 1899266128 09042022 Cachorro Vira L Consultar ID Nome Tutor CPF DataNasci Especie Raça 3 Fumaça Ana 342748121 15072021 Cachorro Sem Alterar Animal a ser alterado Fumaça Ana Nome Fumaça Espécie Cachorro Tutor Ana Raça Sem CPF 342748121 Data de Nascimento 15072021 Observação Preto e com bolinhas pretas nas partes brancas Alterar Alterar Animal a ser alterado Pipoca Victor Nome Pipoca Espécie Cachorro Tutor Victor Raça Vira Lata CPF 1899266128 Data de Nascimento 09042022 Observação Cor caramelo muito arteira Alterar Alterar Animal a ser alterado Pipoca Victor Nome Pipoca Espécie Cachorro Tutor Victor Raça Vira Lata CPF 1899266128 Data de Nascimento 09042022 Observação Cor caramelo muito arteira Alterar Animal atualizado com sucesso OK Veterinaria Inserir Consultar Alterar Apagar Consultar ID Nome Tutor CPF DataNasci Raça Observação 1 Farofa Mario 12312943 10112021 Vira lata cor branca predominante 3 Fumaça Ana 342748121 15072021 Sem Preto e com bolinhas preta 4 Pipoca Victor 18992661 09042022 Vira L Cor caramelo muito arteira Apagar Selecione o animal que deseja excluir Fumaça Ana Excluir Confirmação de exclusão Tem certeza de que deseja excluir o animal selecionado Sim Não A seguir o código de cada tela using System using SystemCollectionsGeneric using SystemComponentModel using SystemData using SystemDrawing using SystemLinq using SystemText using SystemThreadingTasks using SystemWindowsForms using SystemConfiguration using MySqlDataMySqlClient namespace Vet public partial class Inserir Form private AnimalDAO animalDAO public Inserir InitializeComponent Inicializar o objeto AnimalDAO com a string de conexão correta string connectionString ConfigurationManagerConnectionStringsMySQLConnectionStringConnectionString animalDAO new AnimalDAOconnectionString configura o formato do DateTimePicker dtpDataNascimentoMaxDate DateTimeToday dtpDataNascimentoFormat DateTimePickerFormatCustom dtpDataNascimentoCustomFormat ddMMyyyy private void btnInserirClickobject sender EventArgs e Ler os valores do formulário string nome txtNomeText string especie txtEspecieText string raca txtRacaText string tutor txtTutorText string cpf txtCpfText DateTime dataNascimento dtpDataNascimentoValue string observacoes txtObservacaoText Criar um novo objeto Animal Animal novoAnimal new Animalnome especie raca tutor cpf dataNascimento observacoes Chamar o método de inserção do AnimalDAO animalDAOInserirAnimalnovoAnimal Limpar os campos do formulário após a inserção LimparCampos MessageBoxShowAnimal cadastrado com sucesso private void LimparCampos txtNomeText txtEspecieText txtRacaText txtTutorText txtCpfText dtpDataNascimentoValue DateTimeToday txtObservacaoText using System using SystemCollectionsGeneric using SystemComponentModel using SystemData using SystemDrawing using SystemLinq using SystemText using SystemThreadingTasks using SystemWindowsForms using SystemConfiguration using MySqlDataMySqlClient namespace Vet public partial class Consultar Form private AnimalDAO animalDAO public Consultar InitializeComponent Inicializar o objeto AnimalDAO com a string de conexão correta string connectionString ConfigurationManagerConnectionStringsMySQLConnectionStringConnectionString animalDAO new AnimalDAOconnectionString lstanimalView ViewDetails lstanimalLabelEdit true lstanimalAllowColumnReorder true lstanimalFullRowSelect true lstanimalGridLines true configuração dos labls das colunas do list lstanimalColumnsAddID 30 HorizontalAlignmentLeft lstanimalColumnsAddNome 100 HorizontalAlignmentLeft lstanimalColumnsAddTutor 80 HorizontalAlignmentLeft lstanimalColumnsAddCPF 80 HorizontalAlignmentLeft lstanimalColumnsAddDataNascimento 80 HorizontalAlignmentLeft lstanimalColumnsAddEspecie 80 HorizontalAlignmentLeft lstanimalColumnsAddRaça 50 HorizontalAlignmentLeft lstanimalColumnsAddObservação 150 HorizontalAlignmentLeft private void ConsultarLoadobject sender EventArgs e Carregar os animais do banco de dados ao carregar o formulário CarregarAnimais private void CarregarAnimais Consultar os animais no banco de dados ListAnimal animais animalDAOConsultarAnimais Popular a ListView com os dados dos animais PopularListViewanimais private void PopularListViewListAnimal animais Limpar os itens existentes na ListView lstanimalItemsClear Adicionar os animais como itens na ListView foreach Animal animal in animais ListViewItem item new ListViewItemConvertToStringanimalId itemSubItemsAddanimalNome itemSubItemsAddanimalTutor itemSubItemsAddanimalCPF itemSubItemsAddanimalDataNascimentoToStringddMMyyyy itemSubItemsAddanimalEspecie itemSubItemsAddanimalRaca itemSubItemsAddanimalObservacoes lstanimalItemsAdditem private void btnBuscarClickobject sender EventArgs e string nomeBusca txtBuscaTextTrim Verificar se o campo de busca está preenchido if stringIsNullOrEmptynomeBusca Consultar animais por nome ListAnimal animaisEncontrados animalDAOConsultarAnimaisPorNomenomeBusca Popular a ListView com os animais encontrados PopularListViewanimaisEncontrados else Campo de busca vazio carrega tudo CarregarAnimais using System using SystemCollectionsGeneric using SystemComponentModel using SystemData using SystemDrawing using SystemLinq using SystemText using SystemThreadingTasks using SystemWindowsForms using SystemConfiguration using MySqlDataMySqlClient namespace Vet public partial class Alterar Form private AnimalDAO animalDAO private ListAnimal animais private Animal animalSelecionado public Alterar InitializeComponent Inicializar o objeto AnimalDAO com a string de conexão correta string connectionString ConfigurationManagerConnectionStringsMySQLConnectionStringConnectionString animalDAO new AnimalDAOconnectionString dtpDataNascimentoMaxDate DateTimeToday dtpDataNascimentoFormat DateTimePickerFormatCustom dtpDataNascimentoCustomFormat ddMMyyyy private void AlterarLoadobject sender EventArgs e Carregar os animais no ComboBox CarregarAnimais private void CarregarAnimais Limpar o ComboBox cmbAnimaisItemsClear Carregar os animais do banco de dados animais animalDAOConsultarAnimais Preencher o ComboBox com o nome do animal e do tutor foreach var animal in animais string nomeCompleto animalNome animalTutor cmbAnimaisItemsAddnomeCompleto private void cmbAnimaisSelectedIndexChangedobject sender EventArgs e Obter o animal selecionado com base no índice selecionado no ComboBox int indiceSelecionado cmbAnimaisSelectedIndex if indiceSelecionado 0 indiceSelecionado animaisCount animalSelecionado animaisindiceSelecionado Preencher os campos com os dados do animal selecionado if animalSelecionado null txtNomeText animalSelecionadoNome txtEspecieText animalSelecionadoEspecie txtRacaText animalSelecionadoRaca txtTutorText animalSelecionadoTutor txtCpfText animalSelecionadoCPF dtpDataNascimentoValue animalSelecionadoDataNascimento txtObservacaoText animalSelecionadoObservacoes private void btnAtualizarClickobject sender EventArgs e if animalSelecionado null Atualizar os campos do animal selecionado com os valores do formulário animalSelecionadoNome txtNomeText animalSelecionadoEspecie txtEspecieText animalSelecionadoRaca txtRacaText animalSelecionadoTutor txtTutorText animalSelecionadoCPF txtCpfText animalSelecionadoDataNascimento dtpDataNascimentoValue animalSelecionadoObservacoes txtObservacaoText Chamar o método de atualização do AnimalDAO animalDAOAtualizarAnimalanimalSelecionado MessageBoxShowAnimal atualizado com sucesso CarregarAnimais LimparCampos private void LimparCampos txtNomeText txtEspecieText txtRacaText txtTutorText txtCpfText dtpDataNascimentoValue DateTimeToday txtObservacaoText using System using SystemCollectionsGeneric using SystemComponentModel using SystemData using SystemDrawing using SystemLinq using SystemText using SystemThreadingTasks using SystemWindowsForms using SystemConfiguration using MySqlDataMySqlClient namespace Vet public partial class Apagar Form private AnimalDAO animalDAO private ListAnimal animais private Animal animalSelecionado public Apagar InitializeComponent Inicializar o objeto AnimalDAO com a string de conexão correta string connectionString ConfigurationManagerConnectionStringsMySQLConnectionStringConnectionString animalDAO new AnimalDAOconnectionString private void ApagarLoadobject sender EventArgs e Carregar os animais no ComboBox CarregarAnimais private void CarregarAnimais Limpar o ComboBox cmbAnimaisItemsClear Carregar os animais do banco de dados animais animalDAOConsultarAnimais Preencher o ComboBox com o nome do animal e do tutor foreach var animal in animais string nomeCompleto animalNome animalTutor cmbAnimaisItemsAddnomeCompleto private void cmbAnimaisSelectedIndexChangedobject sender EventArgs e Obter o animal selecionado com base no índice selecionado no ComboBox int indiceSelecionado cmbAnimaisSelectedIndex if indiceSelecionado 0 indiceSelecionado animaisCount animalSelecionado animaisindiceSelecionado private void btnExcluirClickobject sender EventArgs e if cmbAnimaisSelectedItem null DialogResult result MessageBoxShowTem certeza de que deseja excluir o animal selecionado Confirmação de exclusão MessageBoxButtonsYesNo MessageBoxIconQuestion if result DialogResultYes Chamar o método de exclusão do AnimalDAO animalDAOExcluirAnimalanimalSelecionadoId MessageBoxShowAnimal excluído com sucesso CarregarAnimais