private string ExportarPDF(Int32 PlanillaArrastreID)
        {
            //DataSet GenDS = new DataSet();
            ReportDocument             oRD = new ReportDocument();
            ExportOptions              oExO;
            DiskFileDestinationOptions oExDo = new DiskFileDestinationOptions();
            DsPlanillaArrastre         ds    = new DsPlanillaArrastre();

            IPlanillaArrastreDominio _planillaDominio = IoC.GetObjectDominio <IPlanillaArrastreDominio>();

            #region Cabecera
            // Cargo la cabecera
            List <PlanillaArrastre> listaPlanillaArrastre = new List <PlanillaArrastre>();
            listaPlanillaArrastre.Add(_planillaDominio.GetOne(PlanillaArrastreID));
            // Lleno el dataset de la cabecera
            Utiles.EntityToDataSet <PlanillaArrastre> planilla = new Utiles.EntityToDataSet <PlanillaArrastre>();
            planilla.EntityToDataSet1(ds, listaPlanillaArrastre);
            try
            {
                ds.PlanillaArrastre[0].TextoLegal = _planillaDominio.GetTexto().Texto;
            }
            catch { ds.PlanillaArrastre[0].TextoLegal = String.Empty; }
            #endregion

            #region Choferes
            // Cargo los choferes
            List <PlanillaArrastreChofer> listaPlanillaArrastreChofer = new List <PlanillaArrastreChofer>();
            listaPlanillaArrastreChofer = _planillaDominio.GetListPlanillaArrastreChofer(PlanillaArrastreID);
            // Lleno el dataset de los choferes
            foreach (PlanillaArrastreChofer item in listaPlanillaArrastreChofer)
            {
                //ds.PlanillaArrastreChofer.AddPlanillaArrastreChoferRow(item.ChoferNombre, item.Chofer.Nombre, item.Chofer1.Apellido, item.Chofer1.Nombre, (Int32)item.NumeroPosta);
                ds.PlanillaArrastreChofer.AddPlanillaArrastreChoferRow(item.ChoferLegajoSITT, item.ChoferNombre, item.GuardaLegajoSITT, item.GuardaNombre, (Int32)item.NumeroPosta);
            }
            #endregion

            #region HRAutomatizadas
            // Cargo las hojas de rutas automatizadas recibidas que no tienen guias observadas
            List <PlanillaArrastreHojaRuta> listaPlanillaArrastreHojaRutaAutomatizada = new List <PlanillaArrastreHojaRuta>();
            listaPlanillaArrastreHojaRutaAutomatizada = _planillaDominio.GetListPlanillaArrastreHojaRutaAutomatizada(PlanillaArrastreID);
            // Lleno el dataset de las hojas de rutas automatizadas recibidas
            foreach (PlanillaArrastreHojaRuta item in listaPlanillaArrastreHojaRutaAutomatizada)
            {
                ds.PlanillaArrastreHojaRuta.AddPlanillaArrastreHojaRutaRow("", item.NroHojaRuta.ToString(), item.NroSucursalHojaRuta, item.Observacion ?? String.Empty, true, item.NroSucursalHojaRuta + "-" + item.NroHojaRuta);
            }

            // Cargo las hojas de rutas automatizadas recibidas que tienen guias observadas
            List <PlanillasArrastresGuiasObservadas> listaPlanillaArrastreHojaRutaGuiasObservadas = new List <PlanillasArrastresGuiasObservadas>();
            listaPlanillaArrastreHojaRutaGuiasObservadas = _planillaDominio.GetListPlanillaArrastreGuiaObservada(PlanillaArrastreID);
            // Lleno el dataset de las hojas de rutas automatizadas recibidas
            foreach (PlanillasArrastresGuiasObservadas item in listaPlanillaArrastreHojaRutaGuiasObservadas)
            {
                ds.PlanillaArrastreGuiaObservada.AddPlanillaArrastreGuiaObservadaRow(item.PlanillaArrastreID.Value, item.GuiaID.Value, item.ObservacionID.Value, item.AgenciaID.Value, item.HojaRutaID.Value, item.NroHojaRuta.Value.ToString(), item.NroSucursalHojaRuta, item.NroGuia, item.ObservacionTipificada, item.CodigoObservacion.Value, item.Observacion ?? String.Empty, item.Agencia, item.SucursalDGI, item.NroSucursalHojaRuta + "-" + item.NroHojaRuta.Value);
            }
            #endregion

            #region HRManuales
            // Cargo las hojas de rutas manuales recibidas
            Utiles.EntityToDataSet <PlanillaArrastreHojaRuta> planillaHojaRuta = new Utiles.EntityToDataSet <PlanillaArrastreHojaRuta>();
            List <PlanillaArrastreHojaRuta> listaPlanillaArrastreHojaRuta      = new List <PlanillaArrastreHojaRuta>();
            listaPlanillaArrastreHojaRuta = _planillaDominio.GetListPlanillaArrastreHojaRutaManual(PlanillaArrastreID);
            // Lleno el dataset de las hojas de rutas manuales recibidas
            foreach (PlanillaArrastreHojaRuta item in listaPlanillaArrastreHojaRuta)
            {
                ds.PlanillaArrastreHojaRutaManual.AddPlanillaArrastreHojaRutaManualRow(item.NroHojaRuta.Value.ToString(), item.NroSucursalHojaRuta, item.NroSucursalHojaRuta + "-" + item.NroHojaRuta);
            }
            #endregion

            #region HRNoRecibidas
            // Cargo las hojas de rutas no recibidas
            List <PlanillaArrastreHojaRutaNoRecibida> listaPlanillaArrastreHojaRutaNoRecibida = new List <PlanillaArrastreHojaRutaNoRecibida>();
            listaPlanillaArrastreHojaRutaNoRecibida = _planillaDominio.GetListPlanillaArrastreHojaRutaNoRecibida(PlanillaArrastreID);
            // Lleno el dataset de las hojas de rutas no recibidas
            foreach (PlanillaArrastreHojaRutaNoRecibida item in listaPlanillaArrastreHojaRutaNoRecibida)
            {
                ds.PlanillaArrastreHojaRutaNoRecibida.AddPlanillaArrastreHojaRutaNoRecibidaRow((Int32)item.HojaRuta.NroHojaRuta, item.HojaRuta.NroSucursalHojaRuta, item.HojaRuta.NroSucursalHojaRuta + "-" + item.HojaRuta.NroHojaRuta);
            }
            #endregion

            try
            {
                string nombArchi  = "PlanillaArrastre_" + ds.PlanillaArrastre[0].PlanillaNumero + "_" + this.AgenciaConectadaID + ".pdf";;
                string sNombrePDF = Server.MapPath(".") + "\\ReportesPDF\\" + nombArchi;
                //Load report
                oRD.Load(Server.MapPath("." + "/Reportes/PlanillaArrastre.rpt"));
                oRD.SetDataSource(ds);
                IAgenciaDominio _agenciaDominio = IoC.GetObjectDominio <IAgenciaDominio>();
                IUsuarioDominio _usuarioDominio = IoC.GetObjectDominio <IUsuarioDominio>();
                Usuario         usuario         = _usuarioDominio.GetOne(this.IntUsuarioConectadoID);
                oRD.SetParameterValue("Agencia", _agenciaDominio.GetOne(this.AgenciaConectadaID).RazonSocial);
                oRD.SetParameterValue("Usuario", usuario.Apellido + ", " + usuario.Nombre);
                //Export to PDF
                oExDo.DiskFileName = sNombrePDF;
                oExO = oRD.ExportOptions;
                oExO.ExportDestinationType = ExportDestinationType.DiskFile;
                oExO.ExportFormatType      = ExportFormatType.PortableDocFormat;
                oExO.DestinationOptions    = oExDo;
                oRD.Export(); //-->DESCOMENTAR ESTO PARA GENERAR EL PDF
                oRD.Close();
                oRD.Dispose();
                return(nombArchi);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }