public ActionResult DescargarReporteEmpleado(int codigo, string algo)
        //public ActionResult DescargarReporteEmpleado(int codigo)
        {
            try
            {
                var rptH = new ReportClass();
                rptH.FileName = Server.MapPath("/Reportes/EmpleadoReporte1.rpt");
                rptH.Load();

                // por parametro
                rptH.SetParameterValue("DptoId", codigo);
                //rptH.SetParameterValue("ParamAlgo", algo);

                // Report connection
                var            connInfo  = CrystalReportsCnn.GetConnectionInfo();
                TableLogOnInfo logonInfo = new TableLogOnInfo();
                Tables         tables;
                tables = rptH.Database.Tables;
                foreach (Table table in tables)
                {
                    logonInfo = table.LogOnInfo;
                    logonInfo.ConnectionInfo = connInfo;
                    table.ApplyLogOnInfo(logonInfo);
                }

                Response.Buffer = false;
                Response.ClearContent();
                Response.ClearHeaders();

                // Descargar en PDF
                Stream stream = rptH.ExportToStream(ExportFormatType.PortableDocFormat);
                rptH.Dispose();
                rptH.Close();
                return(new FileStreamResult(stream, "application/pdf"));

                // Descargar en Excel
                //Stream stream = rptH.ExportToStream(ExportFormatType.Excel);
                //stream.Seek(0, SeekOrigin.Begin);
                //return File(stream, "application/vnd.ms-excel", "empleadoRpt.xls");
            }
            catch (Exception ex)
            {
                return(Json(new { ok = false, msg = ex.Message }, JsonRequestBehavior.AllowGet));
            }
        }
        public ActionResult DescargarReporteAsignacionesExcel(int?id)
        {
            try
            {
                var rptH = new ReportClass();
                rptH.FileName = Server.MapPath("/Reportes/AsignacionReport.rpt");
                rptH.Load();

                if (id == null)
                {
                    rptH.SetDataSource(ProyectoCN.ListarAsignaciones());
                }
                else
                {
                    rptH.SetDataSource(ProyectoCN.ListarAsignaciones(id.Value));
                }

                // Report connection
                var            connInfo  = CrystalReportsCnn.GetConnectionInfo();
                TableLogOnInfo logonInfo = new TableLogOnInfo();
                Tables         tables;
                tables = rptH.Database.Tables;
                foreach (Table table in tables)
                {
                    logonInfo = table.LogOnInfo;
                    logonInfo.ConnectionInfo = connInfo;
                    table.ApplyLogOnInfo(logonInfo);
                }

                Response.Buffer = false;
                Response.ClearContent();
                Response.ClearHeaders();

                // Descargar en Excel
                Stream stream = rptH.ExportToStream(ExportFormatType.Excel);
                stream.Seek(0, SeekOrigin.Begin);
                return(File(stream, "application/vnd.ms-excel", "asignacionRpt.xls"));
            }
            catch (Exception ex)
            {
                return(Json(new { ok = false, msg = ex.Message }, JsonRequestBehavior.AllowGet));
            }
        }
        public ActionResult DescargarReporteEmpleado()
        {
            try
            {
                var reportE = new ReportClass();
                reportE.FileName = Server.MapPath("/Reports/EmpleadoOLE_DBReport.rpt");
                reportE.Load();
                //report connection
                var            connInfo  = CrystalReportsCnn.GetConnectionInfo();
                TableLogOnInfo logonInfo = new TableLogOnInfo();
                Tables         tables;
                tables = reportE.Database.Tables;
                foreach (Table table in tables)
                {
                    logonInfo = table.LogOnInfo;
                    logonInfo.ConnectionInfo = connInfo;
                    table.ApplyLogOnInfo(logonInfo);
                }
                Response.Buffer = false;
                Response.ClearContent();
                Response.ClearHeaders();
                //pdf
                Stream reportStream = reportE.ExportToStream(ExportFormatType.PortableDocFormat);
                reportE.Dispose();
                reportE.Close();
                return(new FileStreamResult(reportStream, "application/pdf "));

                //Exel
                //Stream reportStream = reportE.ExportToStream(ExportFormatType.Excel);
                //reportStream.Seek(0, SeekOrigin.Begin);
                //return  File(reportStream, "application/vnd.ms-exel","Empleados.xls");
            }
            catch (Exception ex)
            {
                throw;
            }
        }