예제 #1
0
        private void btnDevolver_Click(object sender, EventArgs e)
        {
            // atualizar data devolução e o total
            Locacao     lobj;
            Equipamento eobj;

            try
            {
                lobj = new Locacao();
                eobj = new Equipamento();

                lobj.setCodigo(this.txtCodLocacao.Text);
                lobj.setDataDevolucao(this.dtpDataDevolucao.Value);
                lobj.setTotal(precoLocacao());

                lobj.devolucao();

                MessageBox.Show("Devolução realizada com sucesso!" + Environment.NewLine
                                + "Preço total da locação: R$" + precoLocacao().ToString());

                this.txtCodLocacao.Clear();
                this.txtCodCliente.Clear();
                this.txtNomeCliente.Clear();
                this.txtTotal.Clear();
                this.dtpDataLocacao.Value       = Convert.ToDateTime(DateTime.Now.ToShortDateString());
                this.dtpDataPrevista.Value      = Convert.ToDateTime(DateTime.Now.ToShortDateString());
                this.dtpDataDevolucao.Value     = Convert.ToDateTime(DateTime.Now.ToShortDateString());
                this.dgvItensLocados.DataSource = null;
            }
            catch (Exception ex)
            {
                MessageBox.Show("Erro ao devolver: " + ex.Message);
            }
        }
예제 #2
0
        public double precoLocacao() // método para calcular o total final da locação a partir de seus dias locados
        {
            // preço de locacao dos equipamentos: diária vezes os dias locados
            // total * diarias

            Locacao  lobj = new Locacao();
            TimeSpan diferencaDias;
            double   totalPreco;
            int      diaslocados;

            diferencaDias = this.dtpDataDevolucao.Value - this.dtpDataLocacao.Value;
            diaslocados   = Convert.ToInt32(diferencaDias.Days);

            if (diaslocados > 0) // dias igual a 0 faz com que o total fique igual a 0
            {
                totalPreco = (double)diaslocados * Convert.ToDouble(this.txtTotal.Text);
            }

            else
            {
                totalPreco = Convert.ToDouble(this.txtTotal.Text);
            }

            return((double)totalPreco); // retorna o total
        }
        public void relatorio()
        {
            Equipamento eobj;
            Item        iobj;
            Locacao     lobj;

            try
            {
                eobj = new Equipamento();
                iobj = new Item();
                lobj = new Locacao();

                // percorre os equipamentos locados
                for (int i = 0; i < eobj.equipamentosLocadosComData().Rows.Count; i++)
                {
                    // preenche o TextBox Multiline com a descrição, data locação e data prevista dos equipamentos locados
                    // a partir dos registros da tabela retornados pelo método
                    txtRelatorio.Text += "Equipamento: " + eobj.equipamentosLocadosComData().Rows[i][0].ToString() + " | " +
                                         "Data Locação: " + Convert.ToDateTime(eobj.equipamentosLocadosComData().Rows[i][1]).ToLongDateString() + " | " +
                                         "Data Prevista " + Convert.ToDateTime(eobj.equipamentosLocadosComData().Rows[i][2]).ToLongDateString() +
                                         Environment.NewLine +
                                         Environment.NewLine;
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("Erro no relatório: " + ex.Message);
            }
        }
예제 #4
0
        private void btnFinalizar_Click(object sender, EventArgs e)
        {
            Locacao     lobj;
            Item        iobj;
            Equipamento eobj;

            try
            {
                lobj = new Locacao();
                iobj = new Item();
                eobj = new Equipamento();

                // se houver algum equipamento no datagridview
                if (this.dgvItens.Rows != null)
                {
                    // gravar os dados da locação no banco
                    lobj.setCodCliente(this.txtCodCliente.Text);
                    lobj.setTotal(this.txtTotal.Text);
                    lobj.setDatalocacao(this.dtpLocacao.Value.Date);
                    lobj.setDataprevista(this.dtpPrevista.Value.Date);
                    lobj.gravar();

                    for (int i = 0; i < this.dgvItens.Rows.Count; i++) // percorre o dgv
                    {
                        // insere o codigo do equipamento no atributo codequipamento do item a partir do dgv
                        iobj.setCodequipamento(this.dgvItens.Rows[i].Cells[0].Value.ToString());
                        // insere o código da locação no atributo codlocacao a partir do codigo retornado pelo lobj.gravar()
                        // converte em int para evitar erros de restrição no banco
                        iobj.setCodlocacao(Convert.ToInt32(lobj.codigo));
                        // grava os dados do item no banco
                        iobj.gravar();
                    }

                    MessageBox.Show("Locação realizada com sucesso!");

                    this.txtNomeCliente.Clear();
                    this.txtCodCliente.Clear();
                    this.txtCodEquip.Clear();
                    this.txtDescr.Clear();
                    this.txtPrecoDiaria.Clear();
                    this.txtTotal.Clear();
                    this.dtpLocacao.Value  = Convert.ToDateTime(DateTime.Now.ToLongDateString());
                    this.dtpPrevista.Value = Convert.ToDateTime(DateTime.Now.ToLongDateString());
                    this.dgvItens.Rows.Clear();
                }

                else // se o dgv estiver vazio
                {
                    MessageBox.Show("Deve haver equipamentos para realizar a locação!");
                    this.txtCodEquip.Focus();
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("Erro ao finalizar locação: " + ex.Message);
            }
        }
예제 #5
0
        private void txtCodLocacao_Leave(object sender, EventArgs e)
        {
            Locacao     lobj;
            Cliente     cobj;
            Item        iobj;
            Equipamento eobj;

            try
            {
                // limpa os dados do dgv o qual não possui colunas
                dgvItensLocados.DataSource = null;
                lobj = new Locacao();
                cobj = new Cliente();
                iobj = new Item();
                eobj = new Equipamento();

                // se a locação digitada no textbox está ativa
                if (lobj.codLocacaoAtivas(Convert.ToInt32(this.txtCodLocacao.Text)))
                {
                    // preenche os campos com os dados da locação
                    this.txtCodCliente.Text    = lobj.codcli.ToString();
                    this.dtpDataLocacao.Value  = Convert.ToDateTime(lobj.datalocacao.ToShortDateString());
                    this.dtpDataPrevista.Value = Convert.ToDateTime(lobj.dataprevista.ToShortDateString());
                    this.txtTotal.Text         = String.Format("{0:0.00}", lobj.total);

                    // preencher o nome do cliente a partir do codcli da locação
                    if (cobj.nomeCliente(lobj.codcli))
                    {
                        this.txtNomeCliente.Text = cobj.nome;
                    }

                    // preencher o datagridview a partir do DataTable do item que possui o codlocacao do textbox
                    dgvItensLocados.DataSource = iobj.codItemLocacao((Convert.ToInt32(this.txtCodLocacao.Text)));
                }

                // se a locação estiver inativa ou não for encontrada
                else if (!(lobj.codLocacaoAtivas(Convert.ToInt32(this.txtCodLocacao.Text))))
                {
                    MessageBox.Show("Locação inativa ou não encontrada!");
                    this.txtCodLocacao.Clear();
                    this.txtCodCliente.Clear();
                    this.txtNomeCliente.Clear();
                    this.txtTotal.Clear();
                    this.dtpDataLocacao.Value   = Convert.ToDateTime(DateTime.Now.ToShortDateString());
                    this.dtpDataPrevista.Value  = Convert.ToDateTime(DateTime.Now.ToShortDateString());
                    this.dtpDataDevolucao.Value = Convert.ToDateTime(DateTime.Now.ToShortDateString());
                    this.dgvItensLocados.Rows.Clear();
                    dgvItensLocados.DataSource = null;
                }
            }
            catch (Exception ex) { MessageBox.Show("Erro ao preencher: " + ex.Message); }
        }
예제 #6
0
        private void grafico()
        {
            Locacao lobj;

            try
            {
                lobj = new Locacao();

                this.chart1.Titles.Clear();
                // adiciona título ao gráfico
                this.chart1.Titles.Add("Locações por dia");
                this.chart1.Series.Clear();
                // adiciona uma série a ele
                this.chart1.Series.Add(new Series());
                // nomeia a primeira série
                this.chart1.Series[0].Name = "Soma das locações";
                // insere o tipo de série (coluna)
                this.chart1.Series[0].ChartType = SeriesChartType.Column;

                // adiciona uma segunda série com índice 1
                this.chart1.Series.Add(new Series());
                this.chart1.Series[1].Name      = "Média das locações";
                this.chart1.Series[1].ChartType = SeriesChartType.Column;

                // nomeia os eixos x e y, respectivamente
                chart1.ChartAreas[0].AxisX.Title = "Dias";
                chart1.ChartAreas[0].AxisY.Title = "Valores";

                // se a consulta retornar algum registro

                double axisLabelPos = 0.5;
                if (lobj.grafico().Rows != null)
                {
                    // percorrer os registros do DataTable do obj
                    for (int i = 0; i < lobj.grafico().Rows.Count; i++)
                    {
                        string data = string.Format("{0:dd/MM/yyyy}", lobj.grafico().Rows[i][2]);

                        chart1.ChartAreas[0].AxisX.CustomLabels.Add(axisLabelPos, axisLabelPos + 1, data);
                        axisLabelPos++;

                        chart1.Series[0].Points.Add(new DataPoint
                        {
                            YValues = new double[] { Convert.ToDouble(lobj.grafico().Rows[i][0]) },
                        });

                        chart1.Series[1].Points.Add(Convert.ToDouble(lobj.grafico().Rows[i][1]));
                    }
                }
            } catch (Exception ex) { MessageBox.Show(ex.Message); }
        }