/// <summary> /// Evento ejecutado enviar el dataset a los subreportes /// </summary> private void sbrptTotalesMes_BeforePrint(object sender, PrintEventArgs e) { XRSubreport reporteSucursal = sender as XRSubreport; if (reporteSucursal.ReportSource == null) { return; } reporteSucursal.ReportSource.DataSource = this.DataSource; var mes = UsarSucursal.Value == true?this.GetCurrentColumnValue <int>("Mes") : Mes.Value; if (UsarSucursal.Value) { var sucursalId = this.GetCurrentColumnValue <int>("SucursalID"); RentaDiariaGeneralSucursalModeloPSLRPT report = this.sbrptTotalesMes.ReportSource as RentaDiariaGeneralSucursalModeloPSLRPT; report.SetFilter(sucursalId, mes); reporteSucursal.ReportSource.FilterString = String.Format("[Mes] = {0} AND [SucursalID] = {1}", mes, sucursalId); } }
/// <summary> /// Evento ejecutado para calcular los totales por dia en el mes que se esta presentando. /// </summary> private void GroupFooter1_BeforePrint(object sender, PrintEventArgs e) { var mes = UsarSucursal.Value == true?this.GetCurrentColumnValue <int>("Mes") : Mes.Value; var anio = Anio.Value; Int32?sucursal = 0; if (UsarSucursal.Value) { sucursal = this.GetCurrentColumnValue <int>("SucursalID"); } var diasEnMes = GetDaysInMonth(mes, anio); RentasSucursalDS data = this.DataSource as RentasSucursalDS; XRTableRow tableRowTotales = this.xrTable4.Rows.LastRow; for (int i = 1; i < diasEnMes + 1; i++) { var cellTotal = tableRowTotales.Cells[String.Format("xrtTotalFlotaDayCell{0}", i)] as XRTableCell; var dia = i; //if(dia > 0) //{ var dataRowTotal = sucursal != 0 ? data.ModelosXDia.Where(x => x.Mes == mes && x.Dia == dia && x.SucursalID == sucursal).ToList() : data.ModelosXDia.Where(x => x.Mes == mes && x.Dia == dia).ToList(); if (dataRowTotal != null && dataRowTotal.Count > 0) { cellTotal.Text = dataRowTotal.Sum(x => x.UnidadesRentadas).ToString(); } //if(sucursal != 0) //{ // var rowTotal = data.ModelosXDia.Where(x => x.Mes == mes && x.Dia == dia && x.SucursalID == sucursal).ToList(); // cellTotal.Text = rowTotal.Sum(x => x.UnidadesRentadas).ToString(); //} //else //{ // var rowTotal = data.ModelosXDia.Where(x => x.Mes == mes && x.Dia == dia).ToList(); // cellTotal.Text = rowTotal.Sum(x => x.UnidadesRentadas).ToString(); //} //} //else //{ // cellTotal.Text = "-1"; //} } #region Calculo Totales List <RentasSucursalDS.SubTotalXModeloRow> lista = sucursal != 0 ? data.SubTotalXModelo.Where(x => x.Mes == mes && x.SucursalID == sucursal).ToList() : data.SubTotalXModelo.Where(x => x.Mes == mes).ToList(); var diasRenta = Decimal.Parse(lista.Sum(x => x.DiasRenta).ToString()); var diasUnidad = Decimal.Parse(lista.Sum(x => x.DiasXUnidad).ToString()); var diasObjetivo = Decimal.Parse(lista.Sum(x => x.DiasObjetivo).ToString()); Int32 porcentajeTotal = 0; if (diasUnidad != 0) { var resultado = Math.Round((diasRenta / diasUnidad) * 100); porcentajeTotal = (Int32)resultado; } xrTTotalPorcentajeUtilizacion.Text = porcentajeTotal.ToString(); this.xrTTotalDiasObjetivo.Text = diasObjetivo.ToString(); this.xrTTotalDiasXUnidad.Text = diasUnidad.ToString(); this.xrTTotalDiasRenta.Text = diasRenta.ToString(); #endregion RentaDiariaGeneralSucursalModeloPSLRPT reporte = (this.sbrptTotalesMes.ReportSource = new RentaDiariaGeneralSucursalModeloPSLRPT()) as RentaDiariaGeneralSucursalModeloPSLRPT; reporte.diasMesWidth = diasMesEncabezadosSize; reporte.Mes = mes; reporte.Anio = anio; reporte.PorcentajeTotal = porcentajeTotal; reporte.UsarSucursal = UsarSucursal; reporte.CreateNewColumns(); if (this.DataMember == "Modelos") { reporte.DataMember = "Modelos"; reporte.DataSource = this.DataSource; } }