private void CalcularFooterPorcentajeTotal(bool deArea, XRTableCell celdaPreventivos, XRTableCell celdaCorrectivos) { int sucursalId = this.GetCurrentColumnValue <int>("SucusalId"); int mesId = this.GetCurrentColumnValue <int>("MesId"); int anio = this.GetCurrentColumnValue <int>("Anio"); ReporteComparativoMantenimientoDS report = this.DataSource as ReporteComparativoMantenimientoDS; List <ReporteComparativoMantenimientoDS.MantenimientoRow> mantenimientos = report.Mantenimiento.Where(x => x.SucusalId == sucursalId && x.Anio == anio && x.MesId == mesId).ToList(); if (deArea) { int areaId = this.GetCurrentColumnValue <int>("AreaId"); mantenimientos = mantenimientos.Where(x => x.AreaId == areaId).ToList(); } int totalMantenimientos = 0; int totalMantenimientoPre = 0; int totalMantenimientoCo = 0; foreach (ReporteComparativoMantenimientoDS.MantenimientoRow mantenimiento in mantenimientos) { totalMantenimientos += mantenimiento.Total; if (mantenimiento.Total > 0) { totalMantenimientoPre += mantenimiento.TotalPreventivos; totalMantenimientoCo += mantenimiento.TotalCorrectivos; } } CalcularPorcentaje(totalMantenimientoPre, totalMantenimientos, celdaPreventivos); CalcularPorcentaje(totalMantenimientoCo, totalMantenimientos, celdaCorrectivos); }
private void fTotalGeneral_BeforePrint(object sender, System.Drawing.Printing.PrintEventArgs e) { int totalMantenimientos = 0; int totalMantenimientoPre = 0; int totalMantenimientoCo = 0; ReporteComparativoMantenimientoDS report = this.DataSource as ReporteComparativoMantenimientoDS; foreach (ReporteComparativoMantenimientoDS.MantenimientoRow mantenimiento in report.Mantenimiento) { totalMantenimientos += mantenimiento.Total; if (mantenimiento.Total > 0) { totalMantenimientoPre += mantenimiento.TotalPreventivos; totalMantenimientoCo += mantenimiento.TotalCorrectivos; } } CalcularPorcentaje(totalMantenimientoPre, totalMantenimientos, fTotalGeneralPre); CalcularPorcentaje(totalMantenimientoCo, totalMantenimientos, fTotalGeneralCo); }