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); } }
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); } }
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); } }
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); } }
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); } }