コード例 #1
0
        private void btnAtender_Click(object sender, EventArgs e)
        {
            InputForm input = new InputForm("Digite o número do caixa para atender:", "Atendimento");

            input.ShowDialog();

            if (input.inputText != null)
            {
                try {
                    int caixa = int.Parse(input.inputText);

                    for (int i = 0; i < caixas_abertos.Count(); i++)
                    {
                        bool encontrado = false;

                        if (caixas_abertos[i] == caixa)
                        {
                            Caixa caja = Guichetiers.Elemento(Guichetiers.busca_bin(caixa));

                            if (caja.Fila.Vazia() != true)
                            {
                                Pessoa persona = (Pessoa)caja.Fila.Desenfileira();

                                FormAtendimento atend = new FormAtendimento(persona, caja);
                                atend.ShowDialog();

                                if (atend.Caixa != null)
                                {
                                    Guichetiers.Inserir(atend.Caixa, i);
                                }
                            }
                            else
                            {
                                MessageBox.Show("Não existem pessoas na fila!", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
                                Guichetiers.Inserir(caja, Guichetiers.busca_bin(caixa));
                            }

                            encontrado = true;
                        }

                        if ((i + 1 == caixas_abertos.Count()) && (caixas_abertos[i] != caixa) && encontrado == false)
                        {
                            MessageBox.Show("O caixa escolhido não está aberto!", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Information);
                        }
                    }
                } catch (Exception) {
                    MessageBox.Show("O número informado não é válido!", "Formato inválido", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                }
            }
        }
コード例 #2
0
        private void btnFechar_Click(object sender, EventArgs e)
        {
            InputForm input = new InputForm("Digite o número do caixa para ser fechado:", "Fechamento de caixa");

            input.ShowDialog();

            if (input.inputText != null)
            {
                try {
                    int   caixa = int.Parse(input.inputText);
                    int[] temp  = new int[caixas_abertos.Length];

                    for (int i = 0; i < caixas_abertos.Length; i++)
                    {
                        if (caixa == caixas_abertos[i])
                        {
                            bool         pessoas     = Guichetiers.Elemento(Guichetiers.busca_bin(caixa)).Fila.Vazia();
                            DialogResult confirmacao = DialogResult.No;

                            if (pessoas == false)
                            {
                                String msg = "Ainda existem pessoas na fila.\nDeseja fechar o caixa?";
                                confirmacao = MessageBox.Show(msg, "Aviso", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
                            }

                            if (confirmacao == DialogResult.No)
                            {
                                temp[i] = caixas_abertos[i];
                            }
                        }
                        else
                        {
                            if ((i + 1) == caixas_abertos.Length)
                            {
                                MessageBox.Show("O caixa informado não está aberto!", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                            }
                            else
                            {
                                temp[i] = caixas_abertos[i];
                            }
                        }
                    }

                    caixas_abertos = temp;
                } catch (Exception) {
                    MessageBox.Show("Valor informado inválido!", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                }
            }
        }
コード例 #3
0
        private void btnAbrir_Click(object sender, EventArgs e)
        {
            InputForm input = new InputForm("Entre com o número de caixas para serem abertos", "Abrir caixas");

            input.ShowDialog();

            if (input.inputText != null)
            {
                try {
                    this.caixas = int.Parse(input.inputText);

                    if (this.caixas > 0)
                    {
                        double pagar         = 0;
                        double receber       = 0;
                        int    incrementador = 0;
                        bool   auto_preenc   = false;
                        caixas_abertos = new int[caixas];

                        Caixa      guichet;
                        FormCaixas cajas;
                        Guichetiers.Inicializar();

                        while (incrementador < caixas)
                        {
                            int numCaixa = incrementador + 1;

                            if (auto_preenc == false)
                            {
                                cajas = new FormCaixas(numCaixa);
                                cajas.ShowDialog();

                                guichet = new Caixa();

                                if (cajas.Error == true)
                                {
                                    incrementador--;
                                }
                                else
                                {
                                    pagar       = cajas.Pagar;
                                    receber     = cajas.Receber;
                                    auto_preenc = cajas.Automatico;

                                    guichet.IniciarCaixa(numCaixa, pagar, receber);
                                }
                            }
                            else
                            {
                                guichet = new Caixa();
                                guichet.IniciarCaixa(numCaixa, pagar, receber);
                            }

                            Guichetiers.Inserir(guichet, Guichetiers.Quant_elem());
                            incrementador++;
                        }

                        for (int i = 0; i < Guichetiers.Quant_elem(); i++)
                        {
                            caixas_abertos[i] = Guichetiers.Elemento(i).Número;
                        }

                        btnAbrir.Enabled = false;
                    }
                    else
                    {
                        MessageBox.Show("São aceito somente números maiores que 0!", "Mensagem!", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                    }
                } catch (Exception ex) {
                    MessageBox.Show("São aceito somente números inteiros!", "Mensagem!", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                }
            }
        }
コード例 #4
0
        private void btnRelatório_Click(object sender, EventArgs e)
        {
            InputForm input = new InputForm("Digite o número do para realizar o relatório:", "Relatório de caixa");

            input.ShowDialog();

            if (input.inputText != null)
            {
                try {
                    int   caixa   = int.Parse(input.inputText);
                    Caixa guichet = Guichetiers.Elemento(Guichetiers.busca_bin(caixa));

                    SaveFileDialog save = new SaveFileDialog();

                    save.Title       = "Salvar arquivo em";
                    save.Filter      = "Arquivo PDF|.pdf";
                    save.FilterIndex = 0;
                    save.FileName    = "Relatório_Caixa_" + guichet.Número + "_" + DateTime.Now.ToString("ddMMyyyy_HHmmss");
                    save.DefaultExt  = ".pdf";

                    DialogResult resultado = save.ShowDialog();

                    if (resultado == DialogResult.OK)
                    {
                        double pag   = 0;
                        double rec   = 0;
                        String texto = "Relatório do Caixa " + guichet.Número + "\n";

                        texto += "\nSaldo inicial para recebimentos: " + guichet.Receber;
                        texto += "\nSaldo inicial para pagamentos: " + guichet.Pagar + "\n";

                        while (!guichet.Atendimentos.Vazia())
                        {
                            Pessoa aux = (Pessoa)guichet.Atendimentos.Desempilha();

                            texto += "\nAtendimento documento: " + aux.Documento;
                            texto += "\nCliente realizou " + aux.Operação;

                            if (aux.Operação == "Pagamento")
                            {
                                texto += "\nO banco recebeu R$ " + aux.Valor + "\n";
                                rec   += aux.Valor;
                            }
                            else
                            {
                                texto += "\nO banco pagou R$ " + aux.Valor + "\n";
                                pag   += aux.Valor;
                            }
                        }


                        texto += "\nTotal pago no caixa " + guichet.Número + ": R$ " + pag;
                        texto += "\nTotal arrecadado no caixa " + guichet.Número + ": R$ " + rec;

                        double total = guichet.Pagar + guichet.Receber + rec - pag;
                        texto += "\n\nMontante total do caixa " + guichet.Número + ": R$ " + total;

                        GerarPDF(save.FileName, texto);
                    }

                    /*for (int i = 0; i < caixas_abertos.Length; i++) {
                     *  if (caixa == caixas_abertos[i]) {
                     *      Caixa guichet = Guichetiers.Elemento(i);*/



                    /*Console.WriteLine("\n\nRelatório do Caixa " + guichet.Número + "\n");
                     * Console.WriteLine("\nSaldo inicial para recebimentos: " + guichet.Receber);
                     * Console.WriteLine("\nSaldo inicial para pagamentos: " + guichet.Pagar + "\n");
                     *
                     * while (!guichet.Atendimentos.Vazia()) {
                     *  Pessoa aux = (Pessoa) guichet.Atendimentos.Desempilha();
                     *
                     *  Console.WriteLine("\nAtendimento documento: " + aux.Documento);
                     *  Console.WriteLine("Cliente realizou " + aux.Operação);
                     *
                     *  if (aux.Operação == "Pagamento") {
                     *      Console.WriteLine("O banco recebeu R$ " + aux.Valor);
                     *      rec += aux.Valor;
                     *  } else {
                     *      Console.WriteLine("O banco pagou R$ " + aux.Valor);
                     *      pag += aux.Valor;
                     *  }
                     * }
                     *
                     * Console.WriteLine("\nTotal pago no caixa {0}: R$ {1}", guichet.Número, pag);
                     * Console.WriteLine("Total arrecadado no caixa {0}: R$ {1}", guichet.Número, rec);
                     *
                     * double total = guichet.Pagar + guichet.Receber + rec - pag;
                     * Console.WriteLine("\nMontante total do caixa {0}: R$ {1}", guichet.Número, total);*/

                    /*i = caixas_abertos.Length + 1;
                     * } else {
                     * if ((i + 1) == caixas_abertos.Length) {
                     *  MessageBox.Show("O caixa informado está aberto!", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                     * }
                     * }
                     * }*/
                } catch (NullReferenceException) {
                    MessageBox.Show("Foi informado um valor de caixa inválido e/ou inexistente!", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                } catch (Exception) {
                    MessageBox.Show("Valor informádo inválido!", "Mensagem", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
            }
        }