private async void btnGenerar_Click_1(object sender, EventArgs e) { if (!isProcessing) { try { isProcessing = true; fechaInicio = dtpFechaInicio.Value.Date; fechaFin = dtpFechaFin.Value.Date; List <RankingCliente> listaRankingCliente; using (IServiceTeatro servicio = Contenedor.current.Resolve <IServiceTeatro>()) { listaRankingCliente = await servicio.ObtenerRankingClienteAsync(fechaInicio, fechaFin); } reportViewer1.ProcessingMode = ProcessingMode.Local; reportViewer1.LocalReport.DataSources.Clear(); ReportDataSource Reporte = new ReportDataSource("DataSet1", listaRankingCliente); reportViewer1.LocalReport.DataSources.Add(Reporte); List <ReportParameter> parametros = new List <ReportParameter>(); parametros.Add(new ReportParameter("fechaInicio", "" + fechaInicio)); parametros.Add(new ReportParameter("fechaFin", "" + fechaFin)); //Añado parametros al reportviewer this.reportViewer1.LocalReport.SetParameters(parametros); reportViewer1.RefreshReport(); reportViewer1.Focus(); } catch (Exception ex) { MessageBox.Show("Ocurrió un error: " + ex.Message, "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Error); } } else { MessageBox.Show("Reporte en ejecución", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Information); } }