public DsReporteGuiasDigitalizadas GetReporteGuiasDigitalizadasDataSet()
        {
            DsReporteGuiasDigitalizadas Ds = new DsReporteGuiasDigitalizadas();
            // Cargo los parametros
            SqlParameter ParamDesdeFecha = new SqlParameter("@DesdeFecha", DesdeFecha);
            SqlParameter ParamHastaFecha = new SqlParameter("@HastaFecha", HastaFecha);
            SqlParameter ParamAgencias   = new SqlParameter("@AgenciaId", Utiles.BaseDatos.IntToSql(this.AgenciaId));
            SqlParameter ParamEjecutivos = new SqlParameter("@EjecutivoId", Utiles.BaseDatos.IntToSql(this.EjecutivoId));

            // Cargo los ejecutivos
            if (EjecutivoId != 0)
            {
                // Se selecciono al menos un ejecutivo
                SqlParameter ParamEjecutivosSeleccionados = new SqlParameter("@EjecutivosSeleccionados", EjecutivoId.ToString());
                Config.Conexion.LlenarTypeDataSet(Ds.Ejecutivos, System.Data.CommandType.StoredProcedure, "PersonalByEjecutivosSeleccionados", ParamEjecutivosSeleccionados);
            }
            else
            {
                // No se seleccionaron ejecutivos. Cargo todos los ejecutivos
                SqlParameter ParamTipoEjecutivoCuenta = new SqlParameter("@TipoEjecutivoCuenta", Utiles.BaseDatos.IntToSql(1));
                Config.Conexion.LlenarTypeDataSet(Ds.Ejecutivos, System.Data.CommandType.StoredProcedure, "PersonalByTipoEjecutivoCuentaId", ParamTipoEjecutivoCuenta);
            }
            // Cargo las estadisticas de las guias
            Config.Conexion.LlenarTypeDataSet(Ds.DatosGuias, System.Data.CommandType.StoredProcedure, "ReporteGuiasDigitalizadasSel", ParamDesdeFecha, ParamHastaFecha, ParamAgencias, ParamEjecutivos);
            // Devuelvo el DataSet obtenido
            return(Ds);
        }
 private void BindGrid(int currentPage)
 {
     try
     {
         // Creo el objeto
         IReporteGuiasDigitalizadas Reporte = ReporteGuiasDigitalizadasFactory.GetReporteGuiasDigitalizadas();
         // Cargo los parametros
         Reporte.DesdeFecha = Utiles.Fechas.FormatFechaDDMMYYYY(txtFechaDesde.Text);
         Reporte.HastaFecha = Utiles.Fechas.FormatFechaDDMMYYYY(txtFechaHasta.Text);
         if (BAAgencia.Sucursal != "" && BAAgencia.RazonSocial != "")
         {
             if (BAAgencia.AgenciaID != "")
             {
                 Reporte.AgenciaId = int.Parse(BAAgencia.AgenciaID);
             }
         }
         if (BPEjecutivo.Legajo != "" && BPEjecutivo.Nombre != "")
         {
             if (BPEjecutivo.PersonalID != "")
             {
                 Reporte.EjecutivoId = int.Parse(BPEjecutivo.PersonalID);
             }
         }
         // Obtengo los datos
         DsReporteGuiasDigitalizadas DsReporte = Reporte.GetReporteGuiasDigitalizadasDataSet();
         // Configuro el grid
         SisPackController.AdministrarGrillas.Configurar(GridReporte, "PersonalId", this.CantidadOpciones, true, true);
         //GridReporte.AllowPaging = false;
         //GridReporte.ShowFooter = true;
         // Cargo los datos en el grid
         GridReporte.DataSource = DsReporte;
         GridReporte.DataMember = DsReporte.Ejecutivos.TableName;
         // Cargo los datos en el objeto session
         Session["DsReporteGuiasDigitalizadas"] = DsReporte;
         GridReporte.DataBind();
         // Reviso si tengo que activar o desactivar el boton imprimir
         if (DsReporte.Ejecutivos.Count > 0)
         {
             BtnImprimir.Enabled = true;
         }
         else
         {
             BtnImprimir.Enabled = false;
         }
     }
     catch (Exception ex)
     {
         if ((ex.Message.ToString() == "Object cannot be cast from DBNull to other types.") || (ex.Message.ToString() == "No se puede transformar un objeto DBNull en otros tipos."))
         {
             ((ErrorWeb)phErrores.Controls[0]).setMensaje("No se encontraron datos para mostrar");
         }
         else
         {
             ((ErrorWeb)phErrores.Controls[0]).setMensaje(ex.Message);
         }
     }
 }
 /// <summary>
 /// Función para obtener un lisado de personal por el Id de tipo de ejecutivo
 /// </summary>
 /// <returns>Devuelve un DataSet con el personal que coincide con el Id de tipo de ejecutivo de cuenta</returns>
 public DsReporteGuiasDigitalizadas GetPersonalByTipoEjecutivoCuentaId()
 {
     try
     {
         DsReporteGuiasDigitalizadas ds        = new DsReporteGuiasDigitalizadas();
         SqlParameter ParamTipoEjecutivoCuenta = new SqlParameter("@TipoEjecutivoCuenta", Utiles.BaseDatos.IntToSql(TipoEjecutivoCuentaID));
         Config.Conexion.LlenarTypeDataSet(ds.Ejecutivos, System.Data.CommandType.StoredProcedure, "PersonalByTipoEjecutivoCuentaId", ParamTipoEjecutivoCuenta);
         return(ds);
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
        private string ExportarPDF()
        {
            // Reviso si en el objeto Session esta cargado el objeto DsReporteGuiasDigitalizadas
            if (Session["DsReporteGuiasDigitalizadas"] != null)
            {
                DsReporteGuiasDigitalizadas dsReporte = (DsReporteGuiasDigitalizadas)Session["DsReporteGuiasDigitalizadas"];
                dsReporte.Ejecutivos.Rows[0]["FechaDesde"] = Utiles.Validaciones.obtieneFecha(txtFechaDesde.Text);
                dsReporte.Ejecutivos.Rows[0]["FechaHasta"] = Utiles.Validaciones.obtieneFecha(txtFechaHasta.Text);

                // Si esta cargado. Genero el reporte
                ReportDocument             DocumentoReporte = new ReportDocument();
                ExportOptions              OpcionesExportacion;
                DiskFileDestinationOptions OpcionesDestinacionArchivo = new DiskFileDestinationOptions();
                // Cargo la ruta y nombre del archivo pdf
                string NombreArchivo  = "ReporteGuiasDigitalizadas_" + Session.SessionID + ".pdf";
                string RutaArchivoPDF = Server.MapPath(".") + "/ReportesPDF/" + NombreArchivo;
                // Reviso si el archivo pdf a crear existe
                if (System.IO.File.Exists(RutaArchivoPDF))
                {
                    // Si existe. Lo elimino
                    System.IO.File.Delete(RutaArchivoPDF);
                }
                // Cargo el reporte
                DocumentoReporte.Load(Server.MapPath("." + "/Reportes/ReporteGuiasDigitalizadas.rpt"));
                DocumentoReporte.SetDataSource(dsReporte);
                // Creo el archivo pdf
                OpcionesDestinacionArchivo.DiskFileName = RutaArchivoPDF;
                OpcionesExportacion = DocumentoReporte.ExportOptions;
                OpcionesExportacion.ExportDestinationType = ExportDestinationType.DiskFile;
                OpcionesExportacion.ExportFormatType      = ExportFormatType.PortableDocFormat;
                OpcionesExportacion.DestinationOptions    = OpcionesDestinacionArchivo;
                DocumentoReporte.Export();
                DocumentoReporte.Close();
                DocumentoReporte.Dispose();
                // Devuelvo el nombre del archivo pdf creado
                return(NombreArchivo);
            }
            else
            {
                ((ErrorWeb)this.phErrores.Controls[0]).setMensaje("No se ha podido consultar los datos de la solicitud");
                return("");
            }
        }