public virtual CrystalDecisions.CrystalReports.Engine.ReportDocument CreateReport()
        {
            CRReporteChequesNoCobrados rpt = new CRReporteChequesNoCobrados();

            rpt.Site = this.Site;
            return(rpt);
        }
        private async Task <int> CargarCRViewerAsync(DateTime fechaInicio, DateTime fechaFin)
        {
            SqlConnectionStringBuilder sqlStrBuilder = new SqlConnectionStringBuilder(ObtenerCadenaConexionAppController());

            //https://www.codeproject.com/Articles/10173/Loading-Crystal-Report-reports-which-use-Stored-Pr
            CRReporteChequesNoCobrados crReporte = new CRReporteChequesNoCobrados();

            //crReporte.SetDatabaseLogon("sa", "modomixto", "CRUZ2-THINK", "DBCajaCuentas2");
            crReporte.SetDatabaseLogon(sqlStrBuilder.UserID, sqlStrBuilder.Password, sqlStrBuilder.DataSource, sqlStrBuilder.InitialCatalog);
            crReporte.SetParameterValue("@fechaInicio", fechaInicio);
            crReporte.SetParameterValue("@fechaFin", fechaFin);

            TextObject periodoDeBusquedaTextObject = crReporte.ReportDefinition.ReportObjects["Text12"] as TextObject;

            periodoDeBusquedaTextObject.Text  = "periodo " + MuestraFechaDeBusquedaSinLaHora(fechaInicio) + " a " + MuestraFechaDeBusquedaSinLaHora(fechaFin);
            crystalReportViewer1.ReportSource = crReporte;

            await Task.Delay(200);

            return(1);
        }