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
         }
     }
 }
Пример #2
0
        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();
                }
            }
        }
Пример #3
0
 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());
             }
         }
     }
 }
Пример #4
0
        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;
            }
        }
Пример #5
0
        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;
                }
            }
        }
Пример #6
0
        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;
                }
            }
        }
Пример #7
0
        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;
                }
            }
        }
Пример #8
0
        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;
                }
            }
        }
Пример #9
0
        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
                }
            }
        }
Пример #10
0
        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
                }
            }
        }
Пример #11
0
        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
            }
        }
Пример #12
0
        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
            }
        }
Пример #13
0
        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;
            }
        }
Пример #14
0
        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;
            }
        }
Пример #15
0
        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;
            }
        }
Пример #16
0
        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;
            }
        }
Пример #17
0
        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;
            }
        }
Пример #18
0
        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
            }
        }