void ExibirNoCBX(Leitor qualLeitor) { for (int i = 0; i < qualLeitor.QuantosLivrosComLeitor; i++) // enquanto índice é menor que a quantidade de livros com o leitor { Livro livroVez = new Livro(qualLeitor.CodigoLivroComLeitor[i]); // instanciamos a variável livroVez passando o CodigoLivroLeitor como parâmetor int onde = -1; if (osLivros.Existe(livroVez, ref onde)) // se o livro procurado ( livroVez ) existe { cbxLivros.Items.Add(osLivros[onde].TituloLivro); // exibimos o título do livro no comboBox } } }
private void txtPalavra_Leave(object sender, EventArgs e) //quando saímos do campo de palavra { if (vetor.SituacaoAtual == Situacao.pesquisando) // se está em uma pesquisa { if (!vetor.EstaVazio) // se não está vazio { // procuramos a palavra digitada int indice = -1; var procurado = new PalavraDica(txtPalavra.Text.ToLower(), ""); if (vetor.Existe(procurado, ref indice)) // se existe { vetor.PosicaoAtual = indice; // colocamos a posição atual na posição que foi encontrado AtualizarTela(); // atualizamos a tela stlbMensagem.Text = "Palavra encontrada na posição " + indice; // mudamos a tela exibida } else { MessageBox.Show("A palavra pesquisada não existe no jogo"); // falamos que a palavra procurada não existe vetor.PosicionarNoPrimeiro(); AtualizarTela(); } txtPalavra.ReadOnly = true; } else { MessageBox.Show("Não há nenhuma palavra no jogo!\nAbra um arquivo ou as adicione!"); } } else if (vetor.SituacaoAtual == Situacao.incluindo) // se é uma inclusão { PalavraDica novaPalavra = new PalavraDica(txtPalavra.Text.ToLower(), ""); if (vetor.Existe(novaPalavra, ref ondeIncluir)) // verificamos se a palavra digitada já existe { MessageBox.Show("Palavra repetida, inclusão cancelada"); Limpar(); vetor.SituacaoAtual = Situacao.navegando; txtPalavra.ReadOnly = true; txtDica.ReadOnly = true; } else // se não for repetida, prosseguimos { stlbMensagem.Text = "Digite os outros campos, após isso pressione [Salvar]"; btnSalvar.Enabled = true; txtDica.Focus(); } } }
private void txtCodigoLeitor_Leave(object sender, EventArgs e) { if (txtCodigoLeitor.Text == "") // verifica se o campo "txtCodigoLeitor" está vazio { MessageBox.Show("Digite um código válido!", "Código inv" + "álido", MessageBoxButtons.OK, MessageBoxIcon.Error); // mostra um erro } else // se houver algo { var procurado = new Leitor(txtCodigoLeitor.Text); // cria um objeto leitor com o codigo passado int ondeAchou = 0; if (!osLeitores.Existe(procurado, ref ondeAchou)) // se não entrontou o leitor { MessageBox.Show("Leitor não encontrado"); txtNomeLeitor.Clear(); cbLivro.Enabled = false; } else // encontrou o código procurado na posição ondeAchou { osLeitores.PosicaoAtual = ondeAchou; txtNomeLeitor.Text = osLeitores[osLeitores.PosicaoAtual].NomeLeitor.Trim(); // mostra o nome do leitor com base no código passado cbLivro.Enabled = true; cbLivro.Items.Clear(); // percorre e coloca os livros em cada item do ComboBox "cbLivro" for (int i = 0; i < osLivros.Tamanho; i++) { cbLivro.Items.Add(osLivros[i].TituloLivro.Trim()); } } } }
private void AtualizarTela() { if (!osLivros.EstaVazio) { int indice = osLivros.PosicaoAtual; txtCodigoLivro.Text = osLivros[indice].CodigoLivro + ""; txtTituloLivro.Text = osLivros[indice].TituloLivro; (grbTipoLivro.Controls[osLivros[indice].TipoLivro] as RadioButton).Checked = true; txtLeitorComLivro.Text = "000000"; txtDataDevolucao.Text = ""; txtNomeLeitor.Text = ""; if (osLivros[indice].CodigoLeitorComLivro != "000000") // livro emprestado? { int ondeLeitor = 0; var leitorProc = new Leitor(osLivros[indice].CodigoLeitorComLivro); if (osLeitores.Existe(leitorProc, ref ondeLeitor)) { txtLeitorComLivro.Text = osLivros[indice].CodigoLeitorComLivro; txtNomeLeitor.Text = osLeitores[ondeLeitor].NomeLeitor; txtDataDevolucao.Text = osLivros[indice].DataDevolucao.ToShortDateString(); } } TestarBotoes(); stlbMensagem.Text = "Registro " + (osLivros.PosicaoAtual + 1) + "/" + osLivros.Tamanho; } }
private void txtCodigoTipo_Leave(object sender, EventArgs e) { int ondeIncluir = -1; if (txtCodigoTipo.Text == "") // se o código é inválido { MessageBox.Show("Digite um código válido!"); } else // se o código é válido { var procurado = new Tipo(byte.Parse(txtCodigoTipo.Text), ""); // tipo procurado switch (osTipos.SituacaoAtual) { // escolhe de acordo com o modo case Situacao.incluindo: // INCLUINDO if (osTipos.Existe(procurado, ref ondeIncluir)) // se já existe o código { MessageBox.Show("Código repetido; inclusão cancelada."); osTipos.SituacaoAtual = Situacao.navegando; AtualizarTela(); // restaura o registro visível anteriormente } else // o código ainda não existe no vetor dados { txtDescricaoTipo.Focus(); stlbMensagem.Text = "Digite os demais dados. Após isso pressione [Salvar]"; } break; case Situacao.pesquisando: // PESQUISANDO int ondeAchou = 0; if (!osTipos.Existe(procurado, ref ondeAchou)) // se o código não existe { MessageBox.Show("Código não foi cadastrado ainda."); AtualizarTela(); osTipos.SituacaoAtual = Situacao.navegando; } else // encontrou o código procurado na posição ondeAchou { osTipos.PosicaoAtual = ondeAchou; // a posição atual recebe onde achou AtualizarTela(); osTipos.SituacaoAtual = Situacao.navegando; } break; } } }
private void txtMatricula_Leave(object sender, EventArgs e) // ao sair do campo "txtCodigoLeitor" { if (txtCodigoLivro.Text == "") { MessageBox.Show("Digite um código válido!"); } else { var procurado = new Livro(txtCodigoLivro.Text); switch (osLivros.SituacaoAtual) // escolhe a operação de acordo com o modo de navegação { case Situacao.incluindo: // INCLUINDO if (osLivros.Existe(procurado, ref ondeIncluir)) // se já existe o código { MessageBox.Show("Código repetido; inclusão cancelada."); osLivros.SituacaoAtual = Situacao.navegando; // cancela a inclusão e retorna a navegação AtualizarTela(); // restaura o registro visível anteriormente } else // o código ainda não existe no vetor dados { txtTituloLivro.Focus(); stlbMensagem.Text = "Digite os demais dados. Após isso pressione [Salvar]"; } break; case Situacao.pesquisando: // PESQUISANDO int ondeAchou = 0; if (!osLivros.Existe(procurado, ref ondeAchou)) // se não achou o codigo procurado { MessageBox.Show("Código não foi cadastrado ainda."); AtualizarTela(); // atualiza a tela e colocar na primeira posição osLivros.SituacaoAtual = Situacao.navegando; // volta para o modo de navegação } else // encontrou o código procurado na posição ondeAchou { // para mudar o registro com o qual trabalhamos no momento osLivros.PosicaoAtual = ondeAchou; AtualizarTela(); osLivros.SituacaoAtual = Situacao.navegando; // para mudar o registro com o qual trabalhamos no momento// volta para o modo de navegação } break; } } }
private void txtMatricula_Leave(object sender, EventArgs e) { if (txtCodigoLivro.Text == "") { MessageBox.Show("Digite um código válido!"); } else { var procurado = new Livro(txtCodigoLivro.Text); switch (osLivros.SituacaoAtual) { case Situacao.incluindo: if (osLivros.Existe(procurado, ref ondeIncluir)) // se já existe o código { MessageBox.Show("Código repetido; inclusão cancelada."); osLivros.SituacaoAtual = Situacao.navegando; AtualizarTela(); // restaura o registro visível anteriormente } else // o código ainda não existe no vetor dados { txtTituloLivro.Focus(); stlbMensagem.Text = "Digite os demais dados. Após isso pressione [Salvar]"; } break; case Situacao.pesquisando: int ondeAchou = 0; if (!osLivros.Existe(procurado, ref ondeAchou)) { MessageBox.Show("Código não foi cadastrado ainda."); AtualizarTela(); osLivros.SituacaoAtual = Situacao.navegando; } else // encontrou o código procurado na posição ondeAchou { osLivros.PosicaoAtual = ondeAchou; AtualizarTela(); osLivros.SituacaoAtual = Situacao.navegando; } break; } } }
private void txtCodigoLivro_Leave(object sender, EventArgs e) { if (txtCodigoLivro.Text == "") // Caso algo não fosse digitado pelo usuário, um alerta seria disparado { MessageBox.Show("Por favor, digite um código"); } else { var codigoTipoLivroProc = new TipoLivro(txtCodigoLivro.Text, ""); switch (osTiposLivro.SituacaoAtual) // Escolhas possíveis ao usuário { case Situacao.incluindo: // Modo de inclusão if (osTiposLivro.Existe(codigoTipoLivroProc, ref ondeAchar)) // Verifica se a palavra já existe no vetor { MessageBox.Show("Código repetido, por favor insira outra código."); osTiposLivro.SituacaoAtual = Situacao.navegando; // Está no modo de navegação AtualizarTela(); // Atualização constante do formulário } else { txtDescricao.Focus(); stlbMensagem.Text = "Digite os demais dados. Após isso pressione [Salvar]"; } break; case Situacao.pesquisando: int ondeAchou = 0; if (!osTiposLivro.Existe(codigoTipoLivroProc, ref ondeAchou)) { MessageBox.Show("Código não foi cadastrado ainda."); AtualizarTela(); osTiposLivro.SituacaoAtual = Situacao.navegando; // Modo de navegação } else // encontrou o código procurado na posição ondeAchou { osTiposLivro.PosicaoAtual = ondeAchou; AtualizarTela(); osTiposLivro.SituacaoAtual = Situacao.navegando; // Modo de navegação } break; } } }
private void txtMatricula_Leave(object sender, EventArgs e) // evento disparado ao sair do campo da digitação do código do leitor { if (txtCodigoLeitor.Text == "") // se o campo está vazio { MessageBox.Show("Digite um código válido!"); // alertamos o usuário } else // se não está vazio { var procurado = new Leitor(txtCodigoLeitor.Text); // instanciamos um objeto da classe Leitor passando o código digitado como parâmetro switch (osLeitores.SituacaoAtual) // prosseguimos diferentemente para cada situação, por isso o uso do switch { case Situacao.incluindo: // se for uma inclusão if (osLeitores.Existe(procurado, ref ondeIncluir)) // se já existe o código { MessageBox.Show("Código repetido; inclusão cancelada."); // alertamos o usuário osLeitores.SituacaoAtual = Situacao.navegando; // voltamos para a situação normal ( navegando ) AtualizarTela(); // restaura o registro visível anteriormente } else // o código ainda não existe no vetor dados { txtNomeLeitor.Focus(); // focamos no outro campo, o de nome stlbMensagem.Text = "Digite os demais dados. Após isso pressione [Salvar]"; // alteramos a mensagem para o usuário } break; // saímos do switch case Situacao.pesquisando: // se for uma pesquisa int ondeAchou = 0; // variável inteira para alterar a posição do vetordados futuramente if (!osLeitores.Existe(procurado, ref ondeAchou)) // se o código digitado não existe { MessageBox.Show("Código não foi cadastrado ainda."); // alertamos o usuário AtualizarTela(); // atualizamos a tela osLeitores.SituacaoAtual = Situacao.navegando; // voltamos para a situação normal ( navegando ) } else // encontrou o código procurado na posição ondeAchou { osLeitores.PosicaoAtual = ondeAchou; // alteramos a posição atual para o indíce de onde o código encontrado está AtualizarTela(); // atualizamos a tela osLeitores.SituacaoAtual = Situacao.navegando; // voltamos para a situação normal ( navegando ) } break; // saímos do switch } } }
private void txtMatricula_Leave(object sender, EventArgs e) // ao sair do campo de código de livro { if (txtCodigoLivro.Text == "") // se o campo está vazio { MessageBox.Show("Digite um código válido!"); // alertamos o usuário de que este valor é inválido } else // se não está vazio { var procurado = new Livro(txtCodigoLivro.Text); // instanciamos o objeto da classe Livro passando o código digitado como parâmetro switch (osLivros.SituacaoAtual) // e verificamos qual a situação atual para agir de acordo com ela { case Situacao.incluindo: // se for uma inclusão if (osLivros.Existe(procurado, ref ondeIncluir)) // se já existe o código { MessageBox.Show("Código repetido; inclusão cancelada."); // alertamos o usuário osLivros.SituacaoAtual = Situacao.navegando; // voltamos para a situação original AtualizarTela(); // restaura o registro visível anteriormente } else // o código ainda não existe no vetor dados { txtTituloLivro.Focus(); // focamos no campo de título do livro stlbMensagem.Text = "Digite os demais dados. Após isso pressione [Salvar]"; // alteramos a mensagem exibida ao usuário } break; // saímos do switch case Situacao.pesquisando: // se for uma pesquisa int ondeAchou = 0; if (!osLivros.Existe(procurado, ref ondeAchou)) // se não existe o livro procurado { MessageBox.Show("Código não foi cadastrado ainda."); // alertamos o usuário AtualizarTela(); // atualizamos a tela osLivros.SituacaoAtual = Situacao.navegando; // voltamos para a situação original (navegando) } else // encontrou o código procurado na posição ondeAchou { osLivros.PosicaoAtual = ondeAchou; // mudamos a posição atual AtualizarTela(); // atualizamos a tela osLivros.SituacaoAtual = Situacao.navegando; // voltamos para a situação original } break; // sai do switch } } }
private void txtCodigoTipo_Leave(object sender, EventArgs e) // evento disparado na saída do campo de código do tipo { switch (osTipos.SituacaoAtual) // verificamos a situação { case Situacao.incluindo: // se for uma inclusão var novoTipo = new Tipo(int.Parse(txtCodigoTipo.Text), ""); // instanciamos um novo objeto da classe tipo passando o código como parâmetro if (!osTipos.Existe(novoTipo, ref ondeIncluir)) // se não existe o código { stlbMensagem.Text = "Insira os outros campos e pressione salvar"; // mudamos a mensagem exibida ao usuário txtDescricao.ReadOnly = false; // liberamos o campo da descrição txtDescricao.Focus(); } else // se existe o código { MessageBox.Show("Código repetido, tente novamente"); // alertamos o usuário osTipos.SituacaoAtual = Situacao.navegando; // mudamos a situa~ção atual txtCodigoTipo.ReadOnly = true; txtDescricao.ReadOnly = true; btnInicio.PerformClick(); } break; // sai do switch case Situacao.pesquisando: // se for uma pesquisa var proc = new Tipo(int.Parse(txtCodigoTipo.Text), ""); // instanciamos um novo objeto da classe tipo passando o código como parâmetro if (osTipos.Existe(proc, ref ondeAchou)) // se achou o tipo procurado { osTipos.PosicaoAtual = ondeAchou; // mudamos a posicao atual AtualizarTela(); // e atualizamos a tela exibindo o tipo encontrado } else // se não achou { MessageBox.Show("Tipo não encontrado!"); // avisamos o usuário btnInicio.PerformClick(); } osTipos.SituacaoAtual = Situacao.navegando; // mudamos a situação para a original (navegando) txtCodigoTipo.ReadOnly = true; break; // sai do swicth } }
private void txtCodLeitor_Leave(object sender, EventArgs e) // ao sair do campodo código do leitor { Leitor qualLeitor = new Leitor(txtCodLeitor.Text); int ondeLeitor = -1; if (!osLeitores.Existe(qualLeitor, ref ondeLeitor)) // se NÃO existe o leitor com o referido código { MessageBox.Show("O leitor não está cadastrado!"); // alertamos o leitor LimparFocar(txtCodLeitor); // limpamos e focamos o campo do código do leitor } else // se existe o leitor { oLeitor = osLeitores[ondeLeitor]; // atríbuimos o leitor desejado à varíavel oLeitor HabilitarBtn(); // tentamos habilitar o botão } }
private void AtualizarTela() { if (!osLivros.EstaVazio) // verifica se não está vazio { int indice = osLivros.PosicaoAtual; // recebe a posição atual do vetor txtCodigoLivro.Text = osLivros[indice].CodigoLivro + ""; txtTituloLivro.Text = osLivros[indice].TituloLivro; dgvTipoLivro.ClearSelection(); osTipos.PosicaoAtual = osLivros[indice].TipoLivro - 1; for (int i = 0; i < dgvTipoLivro.RowCount; i++) // percorre o data gried view { if (int.Parse(dgvTipoLivro.Rows[i].Cells[0].Value.ToString()) == osTipos[osTipos.PosicaoAtual].CodigoTipo) // verifica se o tipo do // livro é igual ao tipo // da posição atual no // data gried view { dgvTipoLivro.Rows[i].Selected = true; // seleciona o tipo (coloca e azul) dgvTipoLivro.CurrentCell = dgvTipoLivro.Rows[i].Cells[0]; dgvTipoLivro.BeginEdit(true); dgvTipoLivro.EndEdit(); } } // zera os textbox do groupbox2 txtLeitorComLivro.Text = "000000"; txtDataDevolucao.Text = ""; txtNomeLeitor.Text = ""; if (osLivros[indice].CodigoLeitorComLivro != "000000") // livro emprestado? { int ondeLeitor = 0; var leitorProc = new Leitor(osLivros[indice].CodigoLeitorComLivro); // cria um leitor com o código "CodigoLeitorComLivro" if (osLeitores.Existe(leitorProc, ref ondeLeitor)) // verifica se esse leitor existe { // mostra os dados do leitor nos textbox's do groupbox2 txtLeitorComLivro.Text = osLivros[indice].CodigoLeitorComLivro; txtNomeLeitor.Text = osLeitores[ondeLeitor].NomeLeitor; txtDataDevolucao.Text = osLivros[indice].DataDevolucao.ToShortDateString(); } } TestarBotoes(); // atualiza o estado dos botões stlbMensagem.Text = "Registro " + (osLivros.PosicaoAtual + 1) + "/" + osLivros.Tamanho; } }
private void AtualizarTela() // função que atualiza a tela e exibe os campos para o usuário { if (!osLivros.EstaVazio) // se o vetor de livros NÃO está vazio { int indice = osLivros.PosicaoAtual; // atribuímos à índice o valor da PosiçãoAtual (que está exibida na tela) txtCodigoLivro.Text = osLivros[indice].CodigoLivro + ""; // alteramos o campo de código para o código do livro da posição atual txtTituloLivro.Text = osLivros[indice].TituloLivro; // e o mesmo com o título do livro ^^ bool achouTipo = false; dgvTipos.ClearSelection(); // limpamos a seleção do datagridview for (int i = 0; i < dgvTipos.RowCount && !achouTipo; i++) // enquanto o 'i' for menor que a quantidade de colunas do datagridview, e o tipo não for encontrado { if (int.Parse(dgvTipos.Rows[i].Cells[0].Value.ToString()) == osLivros[indice].TipoLivro) // se o valor do código na coluna 'i' for igual ao código do livro da posição atual { dgvTipos.Rows[i].Selected = true; // selecionamos a coluna do tipo do livro achouTipo = true; // deixamos a variàvel booleana achouTipo igual a verdadeira, saindo do 'for' } } txtLeitorComLivro.Text = "000000"; // alteramos o código do leitor que está com o livro para 000000, que é o padrão, se o livro não estiver emprestado txtDataDevolucao.Text = ""; // também mudamos a data de devolução para vazia txtNomeLeitor.Text = ""; // e o mesmo com o nome do leitor if (osLivros[indice].CodigoLeitorComLivro != "000000") // se o livro exibido estiver emprestado { int ondeLeitor = 0; // onde encontraremos o leitor futuramente var leitorProc = new Leitor(osLivros[indice].CodigoLeitorComLivro); // instanciamos o objeto do leitor procurado passando o seu código como parâmetro if (osLeitores.Existe(leitorProc, ref ondeLeitor)) // procuramos o leitor { txtLeitorComLivro.Text = osLivros[indice].CodigoLeitorComLivro; // preenchemos o campo leitor com livro txtNomeLeitor.Text = osLeitores[ondeLeitor].NomeLeitor; // preenchemos o campo de nome do leitor como o nome do leitor encontrado txtDataDevolucao.Text = osLivros[indice].DataDevolucao.ToShortDateString(); // preenchemos a data de devolução } } TestarBotoes(); // verificamos a validade dos botões stlbMensagem.Text = // alteramos a mensagem exibida para o usuário "Registro " + (osLivros.PosicaoAtual + 1) + "/" + osLivros.Tamanho; } }
private void AtualizarTela() { if (!osLeitores.EstaVazio) // verifica se não está vazio { Leitor oLeitor = osLeitores[osLeitores.PosicaoAtual]; // recebe o leitor da posição atual txtCodigoLeitor.Text = (oLeitor.CodigoLeitor + "").Trim(); // escreve o leitor txtNomeLeitor.Text = oLeitor.NomeLeitor.Trim(); // escreve o livro txtEndereco.Text = oLeitor.EnderecoLeitor.Trim(); // escreve o endereço dgvLivros.RowCount = oLeitor.QuantosLivrosComLeitor + 1; // adiciona o número de linhas necessárias no data gried view for (int umLivro = 0; umLivro < oLeitor.QuantosLivrosComLeitor; umLivro++) // percorre os livros com o leitor { int ondeLivro = -1; var livroProcurado = new Livro(oLeitor.CodigoLivroComLeitor[umLivro]); // recebe o livro com o leitor if (osLivros.Existe(livroProcurado, ref ondeLivro)) // verifica se o livro porcurado existe no vetor livros { // escreve os dados do livro no Data Grid View Livro oLivro = osLivros[ondeLivro]; dgvLivros.Rows[umLivro].Cells[0].Value = oLivro.CodigoLivro; dgvLivros.Rows[umLivro].Cells[1].Value = oLivro.TituloLivro; dgvLivros.Rows[umLivro].Cells[2].Value = oLivro.DataDevolucao.ToShortDateString(); if (oLivro.DataDevolucao < DateTime.Now.Date) // verifica se está atrasado { dgvLivros.Rows[umLivro].Cells[3].Value = "S"; } else { dgvLivros.Rows[umLivro].Cells[3].Value = "N"; } } } TestarBotoes(); // atualiza o estado dos botões stlbMensagem.Text = "Registro " + (osLeitores.PosicaoAtual + 1) + "/" + osLeitores.Tamanho; } }
private void AtualizarTela() { if (!osLeitores.EstaVazio) { Leitor oLeitor = osLeitores[osLeitores.PosicaoAtual]; txtCodigoLeitor.Text = oLeitor.CodigoLeitor + ""; txtNomeLeitor.Text = oLeitor.NomeLeitor; txtEndereco.Text = oLeitor.EnderecoLeitor; dgvLivros.RowCount = oLeitor.QuantosLivrosComLeitor + 1; for (int umLivro = 0; umLivro < oLeitor.QuantosLivrosComLeitor; umLivro++) { int ondeLivro = -1; var livroProcurado = new Livro(oLeitor.CodigoLivroComLeitor[umLivro]); if (osLivros.Existe(livroProcurado, ref ondeLivro)) { Livro oLivro = osLivros[ondeLivro]; dgvLivros.Rows[umLivro].Cells[0].Value = oLivro.CodigoLivro; dgvLivros.Rows[umLivro].Cells[1].Value = oLivro.TituloLivro; dgvLivros.Rows[umLivro].Cells[2].Value = oLivro.DataDevolucao.ToShortDateString(); if (oLivro.DataDevolucao < DateTime.Now.Date) { dgvLivros.Rows[umLivro].Cells[3].Value = "S"; } else { dgvLivros.Rows[umLivro].Cells[3].Value = "N"; } } } TestarBotoes(); stlbMensagem.Text = "Registro " + (osLeitores.PosicaoAtual + 1) + "/" + osLeitores.Tamanho; } }
private void AtualizarTela() // função que atualiza a tela e exibe os campos para o usuário { if (!osLeitores.EstaVazio) // se o vetor de leitores NÃO está vazio { Leitor oLeitor = osLeitores[osLeitores.PosicaoAtual]; // objeto 'oLeitor' é igual o valor da posição atual da PosiçãoAtual de osLeitores txtCodigoLeitor.Text = oLeitor.CodigoLeitor + ""; // alteramos o campo de código do leitor para o seu respectivo código txtNomeLeitor.Text = oLeitor.NomeLeitor; // alteramos também os campos de nome txtEndereco.Text = oLeitor.EnderecoLeitor; // &endereço dgvLivros.RowCount = oLeitor.QuantosLivrosComLeitor + 1; // a quantidade de colunas do DataGridView é igual a quantidade de livros que o leitor tem emprestado for (int umLivro = 0; umLivro < oLeitor.QuantosLivrosComLeitor; umLivro++) // enquanto o índice for menor que a quantidade de livros com o leitor { int ondeLivro = -1; // índice de onde encontraremos o livro var livroProcurado = new Livro(oLeitor.CodigoLivroComLeitor[umLivro]); // instanciamos o objeto livroProcurado como um novo Livro com seu código passado como parâmetro if (osLivros.Existe(livroProcurado, ref ondeLivro)) // se o livro procurado existe { Livro oLivro = osLivros[ondeLivro]; // a variável oLivro fica com o valor do livro encontrado (que está na posição 'ondeLivro') dgvLivros.Rows[umLivro].Cells[0].Value = oLivro.CodigoLivro; // mudamos a primeira célula na coluna do indíce com o respectivo código dgvLivros.Rows[umLivro].Cells[1].Value = oLivro.TituloLivro; // título dgvLivros.Rows[umLivro].Cells[2].Value = oLivro.DataDevolucao.ToShortDateString(); // data de devolução if (oLivro.DataDevolucao < DateTime.Now.Date) // se a data de devolução for menor que a data atual { dgvLivros.Rows[umLivro].Cells[3].Value = "S"; // a devolução do livro está atrasada, e escrevemos 'S' no campo de atraso } else // se a data de devolução for maior que a data atual { dgvLivros.Rows[umLivro].Cells[3].Value = "N"; // a devolução não está atrasad, e escrevemos 'N' no campo de atraso } } } TestarBotoes(); // chamamos a função que verifica a validade dos botões stlbMensagem.Text = // mudamos a mensagem exibida "Registro " + (osLeitores.PosicaoAtual + 1) + "/" + osLeitores.Tamanho; } }
private void txtCodLivro_Leave(object sender, EventArgs e) // ao sair do campo do código do livro { Livro qualLivro = new Livro(txtCodLivro.Text); int ondeLivro = -1; if (osLivros.Existe(qualLivro, ref ondeLivro)) // verifica-se se o código existe { oLivro = osLivros[ondeLivro]; // se existe, atribuí-se ele ao livro que será emprestado if (oLivro.CodigoLeitorComLivro == "000000") // se o livro NÃO está emprestado { HabilitarBtn(); // habilitamos o botão (ou tentamos, pois há restrições no método de habilitar) } else //se o livro já está emprestado { MessageBox.Show("Livro já está emprestado!"); // alertamos o usuário LimparFocar(txtCodLivro); // limpamos e focamos no campo do código do livro } } else // se o livro não existe { MessageBox.Show("O livro não está cadastrado!"); // avisamos ao leitor que o livro não está cadastrado no "sistema" LimparFocar(txtCodLivro); // limpamos e focamos no campó do código do livro } }
private void txtCodLeitor_Leave(object sender, EventArgs e) { Leitor proc = new Leitor(txtCodLeitor.Text); // váriavel do tipo leitor com o código digitado passado como parâmetro int onde = -1; if (osLeitores.Existe(proc, ref onde)) // se o leitor procurado existe { if (osLeitores[onde].QuantosLivrosComLeitor != 0) // se o leitor tem algum livro emprestado { oLeitor = osLeitores[onde]; // atribuímos a variável oLeitor o valor do leitor encontrado ExibirNoCBX(oLeitor); // exibimos os livros emprestados a este leitor no combobox } else //se o leitor não tem nenhum livro emprestado { MessageBox.Show("O leitor digitado não tem nenhum livro!"); // notificamos o usuário LimparFocar(txtCodLeitor); // limpamos e focamos o campo do código do leitor } } else // se o código do leitor não existe no arquivo texto { MessageBox.Show("O código do leitor não existe"); // notificamos o usuário LimparFocar(txtCodLeitor); // limpamos e focamos o campo do código do leitor } }