private void ActualizarTotalDineroConsumo(string indicador, Label lblTotalDinero, DateTime fechaComienzo, DateTime fechaFin) { var costos = db.GetCollection <Costo>(UtilGui.GetStrCostos(indicador)).FindAll(); var mediciones = db.GetCollection <Medicion>(UtilGui.GetStrMediciones(indicador)) .Find(x => x.Fecha >= fechaComienzo && x.Fecha <= fechaFin); lblTotalDinero.Text = "0"; var costoPrevio = costos.Where(x => x.Fecha < fechaComienzo).OrderBy(x => x.Fecha).LastOrDefault(); if (costoPrevio == null) { return; } var costosAsociados = costos.Where(x => x.Fecha >= fechaComienzo && x.Fecha < fechaFin).OrderBy(x => x.Fecha); if (costosAsociados == null) { return; } double totalMedicionParcial, totalCosto = 0; // costoPrevio.Valor * totalMedicionParcial; foreach (var c in costosAsociados) { totalMedicionParcial = mediciones.Where(x => x.Fecha >= costoPrevio.Fecha && x.Fecha < c.Fecha).Sum(x => x.Dato); totalCosto += costoPrevio.Valor * totalMedicionParcial; costoPrevio = c; } totalMedicionParcial = mediciones.Where(x => x.Fecha >= costoPrevio.Fecha && x.Fecha < fechaFin).Sum(x => x.Dato); totalCosto += costoPrevio.Valor * totalMedicionParcial; lblTotalDinero.Text = totalCosto.ToString(); }
private void ActualizarConsumoGrafico(string indicador) { var mediciones = db.GetCollection <Medicion>(UtilGui.GetStrMediciones(indicador)) .FindAll().Where(x => x.Fecha >= dtpFechaComienzo.Value && x.Fecha <= dtpFechaFin.Value).OrderBy(x => x.Fecha); //double totalMensual = 0; foreach (var mes in mediciones) { //totalMensual = mediciones.Where(x => x.Fecha.Month == m).Sum(x => x.Dato); switch (indicador) { case "agua": chtConsumoAgua.Series[UtilGui.FormatIndicador(indicador)].Points.AddXY(mes.Fecha.ToShortDateString(), mes.Dato); break; case "electricidad": chtConsumoElectricidad.Series[UtilGui.FormatIndicador(indicador)].Points.AddXY(mes.Fecha.ToShortDateString(), mes.Dato); break; case "gas": chtConsumoGas.Series[UtilGui.FormatIndicador(indicador)].Points.AddXY(mes.Fecha.ToShortDateString(), mes.Dato); break; } } }
private void ActualizarHistorialMediciones() { var mediciones = db.GetCollection <Medicion>(UtilGui.GetStrMediciones(indicador)); dgvHistorialAgua.Columns.Clear(); if (mediciones.Count() != 0) { BindingSource source = new BindingSource(); source.DataSource = from m in mediciones.FindAll() select new { m.Id, m.Fecha, Medidor = m.Medidor.Codigo, m.Dato, Unidad = lblUnidad.Text, m.Detalle }; dgvHistorialAgua.DataSource = source; var columnEditar = new DataGridViewButtonColumn(); var columnBorrar = new DataGridViewButtonColumn(); columnEditar.Name = "Editar"; columnEditar.Text = "Editar"; columnEditar.UseColumnTextForButtonValue = true; dgvHistorialAgua.Columns.Add(columnEditar); columnBorrar.Name = "Borrar"; columnBorrar.Text = "Borrar"; columnBorrar.UseColumnTextForButtonValue = true; dgvHistorialAgua.Columns.Add(columnBorrar); dgvHistorialAgua.Columns[0].AutoSizeMode = DataGridViewAutoSizeColumnMode.ColumnHeader; dgvHistorialAgua.Columns[2].AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill; dgvHistorialAgua.Columns[1].AutoSizeMode = DataGridViewAutoSizeColumnMode.DisplayedCells; dgvHistorialAgua.Columns[3].AutoSizeMode = DataGridViewAutoSizeColumnMode.DisplayedCells; dgvHistorialAgua.Columns[4].AutoSizeMode = DataGridViewAutoSizeColumnMode.DisplayedCells; dgvHistorialAgua.Columns[5].AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill; } //dgvHistorialAgua.ClearSelection(); }
private void ActualizarTotalesIndicadores() { var anio = Convert.ToInt32(lstAnios.SelectedItem); lblTotalAgua.Text = db.GetCollection <Medicion>(UtilGui.GetStrMediciones("agua")).FindAll().Where(x => x.Fecha.Year == anio).Sum(x => x.Dato).ToString(); lblTotalElectricidad.Text = db.GetCollection <Medicion>(UtilGui.GetStrMediciones("electricidad")).FindAll().Where(x => x.Fecha.Year == anio).Sum(x => x.Dato).ToString(); lblTotalGas.Text = db.GetCollection <Medicion>(UtilGui.GetStrMediciones("gas")).FindAll().Where(x => x.Fecha.Year == anio).Sum(x => x.Dato).ToString(); }
private void CargarAnios() { var anios = new List <int>(); var mediciones = db.GetCollection <Medicion>(UtilGui.GetStrMediciones("agua")); anios = mediciones.FindAll().Select(x => x.Fecha.Year).Distinct().ToList(); mediciones = db.GetCollection <Medicion>(UtilGui.GetStrMediciones("electricidad")); mediciones.FindAll().Select(x => x.Fecha.Year).Distinct().ToList().ForEach(x => anios.Add(x)); mediciones = db.GetCollection <Medicion>(UtilGui.GetStrMediciones("gas")); mediciones.FindAll().Select(x => x.Fecha.Year).Distinct().ToList().ForEach(x => anios.Add(x)); anios.Distinct().OrderBy(x => x).ToList().ForEach(x => lstAnios.Items.Add(x)); }
private void btnGuardar_Click(object sender, EventArgs e) { var mediciones = db.GetCollection <Medicion>(UtilGui.GetStrMediciones(indicador)); if (string.IsNullOrEmpty(txtDatoMedicion.Text) && cboMedidor.SelectedIndex < 0) { MessageBox.Show("El campo 'Medidior' esta vacio y el campo 'Consumo' esta vacio. Intente de nuevo"); return; } else { if (cboMedidor.SelectedIndex < 0) { MessageBox.Show("El campo 'Medidor' es invalido. Intente de nuevo"); return; } else { if (string.IsNullOrEmpty(txtDatoMedicion.Text)) { MessageBox.Show("El campo 'Consumo' esta vacio"); return; } } } double valor = 0; if (!double.TryParse(txtDatoMedicion.Text, out valor)) { MessageBox.Show("El campo 'Consumo' es invalido"); return; } mediciones.Insert(new Medicion { Medidor = (Medidor)cboMedidor.SelectedItem, Dato = valor, Fecha = dtpFechaMedicion.Value, Detalle = txtDetalleMedicion.Text }); LimpiarControlesMedicion(); ActualizarHistorialMediciones(); }
private void ActualizarConsumoIndicador(string indicador) { var anio = Convert.ToInt32(lstAnios.SelectedItem); var mediciones = db.GetCollection <Medicion>(UtilGui.GetStrMediciones(indicador)); DataRow consumoEje = consumo.NewRow(); consumoEje["Indicador"] = UtilGui.FormatIndicador(indicador); double totalMensual = 0; int m = 1; foreach (string mes in meses) { totalMensual = mediciones.FindAll().Where(x => x.Fecha.Month == m && x.Fecha.Year == anio).Sum(x => x.Dato); if (totalMensual != 0) { consumoEje[mes] = totalMensual; } else { consumoEje[mes] = 0; } switch (indicador) { case "agua": chtConsumoAgua.Series[UtilGui.FormatIndicador(indicador)].Points.AddXY(mes, consumoEje[mes]); break; case "electricidad": chtConsumoElectricidad.Series[UtilGui.FormatIndicador(indicador)].Points.AddXY(mes, consumoEje[mes]); break; case "gas": chtConsumoGas.Series[UtilGui.FormatIndicador(indicador)].Points.AddXY(mes, consumoEje[mes]); break; } m++; } consumoEje["Total"] = mediciones.FindAll().Where(x => x.Fecha.Year == anio).Sum(x => x.Dato); consumoEje["Unidad"] = UtilGui.GetUnidad(indicador); consumo.Rows.Add(consumoEje); }
private void dvgHistorialAgua_CellClick(object sender, DataGridViewCellEventArgs e) { if (e.ColumnIndex == dgvHistorialAgua.Columns["Borrar"].Index) { var confirmResult = MessageBox.Show("¿Desea descartar esta medición?", "Descartar medición", MessageBoxButtons.YesNo); if (confirmResult == DialogResult.Yes) { var medicionesAgua = db.GetCollection <Medicion>(UtilGui.GetStrMediciones(indicador)); int IdMedicion = int.Parse(dgvHistorialAgua.Rows[e.RowIndex].Cells["Id"].Value.ToString()); medicionesAgua.Delete(x => x.Id == IdMedicion); } } if (e.ColumnIndex == dgvHistorialAgua.Columns["Editar"].Index) { var mediciones = db.GetCollection <Medicion>(UtilGui.GetStrMediciones(indicador)); int IdMedicion = int.Parse(dgvHistorialAgua.Rows[e.RowIndex].Cells["Id"].Value.ToString()); var medicion = mediciones.FindOne(x => x.Id == IdMedicion); frmEditarMedicion editarMedicionAgua = new frmEditarMedicion(indicador, db, mediciones, medicion); editarMedicionAgua.ShowDialog(this); } ActualizarHistorialMediciones(); }