private DsGuiaFacturaImpresion ToDsGuiaFacturaImpresion(int agenciaEmisoraComprobID, DsFacturaImpresion dsFac)
        {
            DsGuiaFacturaImpresion ds = new DsGuiaFacturaImpresion();

            DsGuiaFacturaImpresion.DatosRow dr = ds.Datos.NewDatosRow();

            foreach (DsFacturaImpresion.DatosRow drFac in dsFac.Datos.Rows)
            {
                dr.GuiaID                      = drFac.GuiaID;
                dr.TipoGuia                    = drFac.IsTipoGuiaNull() ? "" : drFac.TipoGuia;
                dr.NroSucursalGuia             = drFac.IsNroSucursalGuiaNull() ? "" : drFac.NroSucursalGuia;
                dr.NroGuia                     = drFac.IsNroGuiaNull() ? 0 : drFac.NroGuia;
                dr.CUITAgentePago              = drFac.IsNroCuitAgentePagoNull() ? "" : drFac.NroCuitAgentePago;
                dr.CondicionIvaAgentePago      = drFac.IsCondicionIvaAgentePagoNull() ? 0 : drFac.CondicionIvaAgentePago;
                dr.NombreAgenciaDestino        = drFac.IsNombreAgenciaDestinoNull() ? "" : drFac.NombreAgenciaDestino;
                dr.FechaEmision                = drFac.IsFechaEmisionNull() ? "" : drFac.FechaEmision;
                dr.NombrePersonaDestinatario   = drFac.IsNombreNull() ? "" : drFac.Nombre;
                dr.NombreEmpresaDestinatario   = drFac.IsNombreNull() ? "" : drFac.Nombre;
                dr.DireccionDestinatario       = drFac.IsDireccionNull() ? "" : drFac.Direccion;
                dr.LocalidadDestinatario       = drFac.IsLocalidadNull() ? "" : drFac.Localidad;
                dr.TelefonoDestinatario        = drFac.IsTelefonoNull() ? "" : drFac.Telefono;
                dr.NroCuitAgentePago           = drFac.IsNroCuitAgentePagoNull() ? "" : drFac.NroCuitAgentePago;
                dr.CantidadBultosTotal         = System.Convert.ToInt32(drFac.IsCantidadBultosTotalNull() ? 0 : drFac.CantidadBultosTotal);
                dr.VolumenTotal                = drFac.IsVolumenTotalNull() ? 0.00 : drFac.VolumenTotal;
                dr.ValorDeclaradoTotal         = drFac.ValorDeclaradoTotal;
                dr.ValorDeclaradoBulto         = drFac.IsValorDeclaradoBultoNull() ? 0.00 : drFac.ValorDeclaradoBulto;
                dr.PesoTotal                   = drFac.IsPesoTotalNull() ? 0.00 : drFac.PesoTotal;
                dr.ImporteFleteNacional        = drFac.IsImporteFleteNacionalNull() ? 0.00 : drFac.ImporteFleteNacional;
                dr.ImporteSeguro               = drFac.IsImporteSeguroNull() ? 0.00 : drFac.ImporteSeguro;
                dr.ImporteRetiro               = drFac.IsImporteRetiroNull() ? 0.00 : drFac.ImporteRetiro;
                dr.ImporteEntrega              = drFac.IsImporteEntregaNull() ? 0.00 : drFac.ImporteEntrega;
                dr.ImporteComisContraReembolso = drFac.IsImporteComisContraReembolsoNull() ? 0.00 : drFac.ImporteComisContraReembolso;
                dr.ImporteNetoTotal            = drFac.IsImporteNetoNull() ? "" : drFac.ImporteNeto;
                dr.IVAInscriptoTotal           = drFac.IsIVAInscriptoTotalNull() ? "" : drFac.IVAInscriptoTotal.ToString("#,###0.00");
                dr.ImporteTotalGuia            = drFac.IsImporteTotalNull() ? 0.00 : drFac.ImporteTotal;
                dr.EsContado                   = drFac.IsEsContadoNull() ? false : drFac.EsContado;
                dr.EsCtaCte                    = drFac.IsEsCtaCteNull() ? false : drFac.EsCtaCte;
                dr.FechaInicioActividades      = drFac.IsFechaInicioActividadesNull() ? new DateTime(1, 1, 1) : drFac.FechaInicioActividades;
                dr.NombreAgenciaOrigen         = drFac.IsNombreAgenciaOrigenNull() ? "" : drFac.NombreAgenciaOrigen;
                dr.DireccionAgenciaOrigen      = drFac.IsDireccionAgenciaDestinoNull() ? "" : drFac.DireccionAgenciaDestino;
                dr.TelefonoAgenciaOrigen       = drFac.IsTelefonoAgenciaDestinoNull() ? "" : drFac.TelefonoAgenciaDestino;
                dr.NumeroCAI                   = drFac.NumeroCAI;
                dr.Observaciones               = drFac.Observaciones;
                dr.FechaVencimientoCAI         = drFac.IsFechaVencimientoCAINull() ? new DateTime(1, 1, 1) : drFac.FechaVencimientoCAI;
                dr.TextoDorso                  = drFac.TextoDorso;
                dr.LocalidadAgenciaOrigen      = drFac.IsLocalidadAgenciaDestinoNull() ? "" : drFac.LocalidadAgenciaDestino;
                dr.ProvinciaAgenciaOrigen      = drFac.IsProvinciaAgenciaDestinoNull() ? "" : drFac.ProvinciaAgenciaDestino;
                dr.EmpresaFacturacionID        = drFac.IsEmpresaFacturacionIDNull() ? 0 : drFac.EmpresaFacturacionID;
                IAgencia datosAgencia = AgenciaFactory.GetAgencia();
                datosAgencia.AgenciaID = agenciaEmisoraComprobID; /* Agencia que emitió el comprobante */
                datosAgencia.Consultar();
                datosAgencia.Empresa.Consultar();
                dr.CUITEmpresa = datosAgencia.Empresa.NroCUIT;

                //dr.FacturaAsociada = "Guía Nº: " + Validaciones.obtieneEntero(txtNroSucursal.Text).ToString("0000") + "-" + Validaciones.obtieneEntero(txtNroGuia.Text).ToString("00000000") + "-" + ddlTipoGuia.SelectedValue;
                dr.EsFacturaRemito = true;
                dr.PesoTotal       = drFac.IsPesoTotalNull() ? 0 : drFac.PesoTotal;
                dr.PesoBulto       = 0;
                ds.Datos.AddDatosRow(dr);

                break;
            }
            // Devuelvo la conversión del dataset
            return(ds);
        }
        private DsGuiaFacturaImpresion ToDsGuiaFacturaConceptoImpresion(DsFacturaImpresion dsFac)
        {
            DsGuiaFacturaImpresion ds = new DsGuiaFacturaImpresion();

            DsGuiaFacturaImpresion.DatosRow dr = ds.Datos.NewDatosRow();

            foreach (DsFacturaImpresion.DatosRow drFac in dsFac.Datos.Rows)
            {
                dr.GuiaID                      = drFac.IsGuiaIDNull() ? 0 : drFac.GuiaID;
                dr.TipoGuia                    = drFac.IsTipoGuiaNull() ? "" : drFac.TipoGuia;
                dr.NroSucursalGuia             = drFac.IsNroSucursalGuiaNull() ? "" : drFac.NroSucursalGuia;
                dr.NroGuia                     = drFac.IsNroGuiaNull() ? 0 : drFac.NroGuia;
                dr.CUITAgentePago              = drFac.IsNroCuitAgentePagoNull() ? "" : drFac.NroCuitAgentePago;
                dr.CondicionIvaAgentePago      = drFac.IsCondicionIvaAgentePagoNull() ? 0 : drFac.CondicionIvaAgentePago;
                dr.NombreAgenciaDestino        = drFac.IsNombreAgenciaDestinoNull() ? "" : drFac.NombreAgenciaDestino;
                dr.FechaEmision                = drFac.IsFechaEmisionNull() ? "" : drFac.FechaEmision;
                dr.CodCliente                  = drFac.IsCodigoDestinatarioNull() ? "" : drFac.CodigoDestinatario;
                dr.NombrePersonaDestinatario   = drFac.IsNombreNull() ? "" : drFac.Nombre;
                dr.NombreEmpresaDestinatario   = drFac.IsNombreNull() ? "" : drFac.Nombre;
                dr.DireccionDestinatario       = drFac.IsDireccionNull() ? "" : drFac.Direccion;
                dr.LocalidadDestinatario       = drFac.IsLocalidadNull() ? "" : drFac.Localidad;
                dr.TelefonoDestinatario        = drFac.IsTelefonoNull() ? "" : drFac.Telefono;
                dr.NroCuitAgentePago           = drFac.IsNroCuitAgentePagoNull() ? "" : drFac.NroCuitAgentePago;
                dr.CantidadBultosTotal         = System.Convert.ToInt32(drFac.IsCantidadBultosTotalNull() ? 0 : drFac.CantidadBultosTotal);
                dr.VolumenTotal                = drFac.IsVolumenTotalNull() ? 0.00 : drFac.VolumenTotal;
                dr.ValorDeclaradoTotal         = drFac.ValorDeclaradoTotal;
                dr.ValorDeclaradoBulto         = drFac.IsValorDeclaradoBultoNull() ? 0.00 : drFac.ValorDeclaradoBulto;
                dr.PesoTotal                   = drFac.IsPesoTotalNull() ? 0.00 : drFac.PesoTotal;
                dr.ImporteFleteNacional        = drFac.IsImporteFleteNacionalNull() ? 0.00 : drFac.ImporteFleteNacional;
                dr.ImporteSeguro               = drFac.IsImporteSeguroNull() ? 0.00 : drFac.ImporteSeguro;
                dr.ImporteRetiro               = drFac.IsImporteRetiroNull() ? 0.00 : drFac.ImporteRetiro;
                dr.ImporteEntrega              = drFac.IsImporteEntregaNull() ? 0.00 : drFac.ImporteEntrega;
                dr.ImporteComisContraReembolso = drFac.IsImporteComisContraReembolsoNull() ? 0.00 : drFac.ImporteComisContraReembolso;
                dr.ImporteServicioAdicional    = drFac.IsImporteServicioAdicionalNull() ? 0.00 : drFac.ImporteServicioAdicional;
                dr.TipoImpresionGuiaID         = drFac.IsTipoImpresionGuiaIDNull() ? 0 : drFac.TipoImpresionGuiaID;
                dr.ImporteNetoTotal            = drFac.IsImporteNetoNull() ? "" : drFac.ImporteNeto;
                dr.IVAInscriptoTotal           = drFac.IsIVAInscriptoTotalNull() ? "" : drFac.IVAInscriptoTotal.ToString("#,###0.00");
                dr.ImporteTotalGuia            = drFac.IsImporteTotalNull() ? 0.00 : drFac.ImporteTotal;
                dr.EsContado                   = drFac.IsEsContadoNull() ? false : drFac.EsContado;
                dr.EsCtaCte                    = drFac.IsEsCtaCteNull() ? false : drFac.EsCtaCte;
                dr.EsTarjeta                   = drFac.IsEsTarjetaNull() ? false : drFac.EsTarjeta;
                dr.EsPagoEnDestino             = drFac.IsEsPagoEnDestinoNull() ? false : drFac.EsPagoEnDestino;
                dr.FechaInicioActividades      = drFac.IsFechaInicioActividadesNull() ? new DateTime(1, 1, 1) : drFac.FechaInicioActividades;
                dr.NombreAgenciaOrigen         = drFac.IsNombreAgenciaOrigenNull() ? "" : drFac.NombreAgenciaOrigen;
                dr.DireccionAgenciaOrigen      = drFac.IsDireccionAgenciaDestinoNull() ? "" : drFac.DireccionAgenciaDestino;
                dr.TelefonoAgenciaOrigen       = drFac.IsTelefonoAgenciaDestinoNull() ? "" : drFac.TelefonoAgenciaDestino;
                dr.NumeroCAI                   = drFac.NumeroCAI;
                dr.Observaciones               = drFac.Observaciones;
                dr.FechaVencimientoCAI         = drFac.IsFechaVencimientoCAINull() ? new DateTime(1, 1, 1) : drFac.FechaVencimientoCAI;
                dr.TextoDorso                  = drFac.TextoDorso;
                dr.LocalidadAgenciaOrigen      = drFac.IsLocalidadAgenciaDestinoNull() ? "" : drFac.LocalidadAgenciaDestino;
                dr.ProvinciaAgenciaOrigen      = drFac.IsProvinciaAgenciaDestinoNull() ? "" : drFac.ProvinciaAgenciaDestino;
                dr.EmpresaFacturacionID        = drFac.IsEmpresaFacturacionIDNull() ? 0 : drFac.EmpresaFacturacionID;

                IAgencia datosAgencia = AgenciaFactory.GetAgencia();
                datosAgencia.AgenciaID = AgenciaConectadaID;
                datosAgencia.Consultar();
                datosAgencia.Empresa.Consultar();
                dr.CUITEmpresa     = datosAgencia.Empresa.NroCUIT;
                dr.FacturaAsociada = drFac.IsFacturaAsociadaNull() ? "" : drFac.FacturaAsociada;
                dr.EsFacturaRemito = false;
                dr.EsFacturaConceptoFacturacion = true;
                dr.PesoTotal = drFac.IsPesoTotalNull() ? 0 : drFac.PesoTotal;
                dr.PesoBulto = 0;
                try
                {
                    dr.NroEstablicimiento = drFac.NroEstablecimiento;
                }
                catch { }

                try
                {
                    dr.NroFacturaCliente = drFac.NroFacturaCliente;
                }
                catch { }
                try
                {
                    dr.NroRemitoCliente = drFac.NroRemitoCliente;
                }
                catch { }
                try
                {
                    dr.NroHojaRutaCliente = drFac.NroHojaRutaCliente;
                }
                catch { }

                ds.Datos.AddDatosRow(dr);
                break;
            }
            // Devuelvo la conversión del dataset
            return(ds);
        }
        private void LlenarControl(DsGuiaFacturaImpresion.DatosRow dr, Control impresion, string ruta)
        {
            // da una sola vuelta por el bucle
            //			foreach(DsGuiaFacturaImpresion.DatosRow dr in ds.Datos.Rows)
            //			{
            // Tipo guía y número de guía
            ((SisPacK.IGuiaImpresion)impresion).TipoGuia           = dr.IsTipoGuiaNull() ? "" : dr.TipoGuia;
            ((SisPacK.IGuiaImpresion)impresion).NroSucursal        = dr.IsNroSucursalGuiaNull() ? "" : dr.NroSucursalGuia.ToString();
            ((SisPacK.IGuiaImpresion)impresion).NroGuia            = dr.IsNroGuiaNull() ? "" : dr.NroGuia.ToString("00000000");
            ((SisPacK.IGuiaImpresion)impresion).NroEstablecimiento = dr.IsNroEstablicimientoNull() ? "" : dr.NroEstablicimiento.ToString();

            // Datos de la agencia emisora
            ((SisPacK.IGuiaImpresion)impresion).NombreAgenciaOrigen    = dr.IsNombreAgenciaOrigenNull() ? "" : dr.NombreAgenciaOrigen;
            ((SisPacK.IGuiaImpresion)impresion).DireccionAgenciaOrigen = dr.IsDireccionAgenciaOrigenNull() ? "" : dr.DireccionAgenciaOrigen;
            ((SisPacK.IGuiaImpresion)impresion).LocalidadAgenciaOrigen = dr.IsLocalidadAgenciaOrigenNull() ? "" : dr.LocalidadAgenciaOrigen;
            ((SisPacK.IGuiaImpresion)impresion).ProvinciaAgenciaOrigen = dr.IsProvinciaAgenciaOrigenNull() ? "" : dr.ProvinciaAgenciaOrigen;
            ((SisPacK.IGuiaImpresion)impresion).FechaInicioActividad   = dr.IsFechaInicioActividadesNull() ? "" : dr.FechaInicioActividades.ToString("dd/MM/yyyy");
            ((SisPacK.IGuiaImpresion)impresion).TelefonoAgenciaOrigen  = dr.IsTelefonoAgenciaOrigenNull() ? "" : dr.TelefonoAgenciaOrigen;

            // Datos del remitente
            ((SisPacK.IGuiaImpresion)impresion).NombreEmpresaRemitente = dr.IsNombreEmpresaRemitenteNull() ? "" : dr.NombreEmpresaRemitente;
            ((SisPacK.IGuiaImpresion)impresion).NombreRemitente        = dr.IsNombreRemitenteNull() ? "" : dr.NombreRemitente;
            ((SisPacK.IGuiaImpresion)impresion).DireccionRemitente     = dr.IsDireccionRemitenteNull() ? "" : dr.DireccionRemitente;
            ((SisPacK.IGuiaImpresion)impresion).LocalidadRemitente     = dr.IsLocalidadRemitenteNull() ? "" : dr.LocalidadRemitente;
            ((SisPacK.IGuiaImpresion)impresion).ProvinciaRemitente     = dr.IsProvinciaRemitenteNull() ? "" : dr.ProvinciaRemitente;
            ((SisPacK.IGuiaImpresion)impresion).TelefonoRemitente      = dr.IsTelefonoRemitenteNull() ? "" : dr.TelefonoRemitente;
            ((SisPacK.IGuiaImpresion)impresion).IvaResponsable         = dr.IsEsResponsableInscriptoNull() ? "" : (dr.EsResponsableInscripto ? "X" : "");
            ((SisPacK.IGuiaImpresion)impresion).IvaNoInscripto         = dr.IsEsResponsableNoInscriptoNull() ? "" : (dr.EsResponsableNoInscripto ? "X" : "");

            // Datos fiscales del agente de pago
            if (dr.IsCondicionIvaAgentePagoNull() == false)
            {
                ICondicionIva condicionIVA = CondicionIvaFactory.GetCondicionIva();
                condicionIVA.CondicionIvaID = dr.CondicionIvaAgentePago;
                condicionIVA.Consultar();
                ((SisPacK.IGuiaImpresion)impresion).CondicionIVAAgentePago = condicionIVA.CondicionIvaDescrip;
            }
            ((SisPacK.IGuiaImpresion)impresion).NroCUITAgentePago = dr.IsNroCuitAgentePagoNull() ? "" : dr.NroCuitAgentePago;

            // Datos Forma de pago
            ((SisPacK.IGuiaImpresion)impresion).Contado         = dr.IsEsContadoNull() ? "" : (dr.EsContado ? "X" : "");
            ((SisPacK.IGuiaImpresion)impresion).CuentaCorriente = dr.IsEsCtaCteNull() ? "" : (dr.EsCtaCte ? "X" : "");
            ((SisPacK.IGuiaImpresion)impresion).Tarjeta         = dr.IsEsTarjetaNull() ? "" : (dr.EsTarjeta ? "X" : "");

            // Datos del destinatario
            ((SisPacK.IGuiaImpresion)impresion).NombreEmpresaDestinatario = dr.IsNombreEmpresaDestinatarioNull() ? "" : dr.NombreEmpresaDestinatario;
            ((SisPacK.IGuiaImpresion)impresion).NombrePersonaDestinatario = dr.IsNombrePersonaDestinatarioNull() ? "" : dr.NombrePersonaDestinatario;
            ((SisPacK.IGuiaImpresion)impresion).DireccionDestinatario     = dr.IsDireccionDestinatarioNull() ? "" : dr.DireccionDestinatario;
            ((SisPacK.IGuiaImpresion)impresion).LocalidadDestinatario     = dr.IsLocalidadDestinatarioNull() ? "" : dr.LocalidadDestinatario;
            ((SisPacK.IGuiaImpresion)impresion).ProvinciaDestinatario     = dr.IsProvinciaDestinatarioNull() ? "" : dr.ProvinciaDestinatario;
            ((SisPacK.IGuiaImpresion)impresion).TelefonoDestinatario      = dr.IsTelefonoDestinatarioNull() ? "" : dr.TelefonoDestinatario;

            // Observaciones
            ((SisPacK.IGuiaImpresion)impresion).Observaciones = dr.IsObservacionesNull() ? "" : dr.Observaciones;

            // Código de barra
            ((SisPacK.IGuiaImpresion)impresion).RutaCodigoBarras = ruta;
            ((SisPacK.IGuiaImpresion)impresion).NroGuiaCB        = Utiles.Formatos.Tipo2Numero(dr.TipoGuia) + dr.NroSucursalGuia.ToString() + dr.NroGuia;

            // Importes conceptos facturables
            ((SisPacK.IGuiaImpresion)impresion).ImporteFleteNacional = dr.IsImporteFleteNacionalNull() ? "" : Utiles.Formatos.Importe(dr.ImporteFleteNacional);
            ((SisPacK.IGuiaImpresion)impresion).ImporteSeguro        = dr.IsImporteSeguroNull() ? "" : Utiles.Formatos.Importe(dr.ImporteSeguro);//Math.Round(dr.ImporteSeguro,2).ToString("0.00");
            ((SisPacK.IGuiaImpresion)impresion).ImporteRetiro        = dr.IsImporteRetiroNull() ? "" : Utiles.Formatos.Importe(dr.ImporteRetiro);
            ((SisPacK.IGuiaImpresion)impresion).Entrega = dr.IsImporteEntregaNull() ? "" : Utiles.Formatos.Importe(dr.ImporteEntrega);
            ((SisPacK.IGuiaImpresion)impresion).ImporteComisContraReembolso = dr.IsImporteComisContraReembolsoNull() ? "" : Utiles.Formatos.Importe(dr.ImporteComisContraReembolso);
            ((SisPacK.IGuiaImpresion)impresion).ImporteNetoTotal            = dr.IsImporteNetoTotalNull() ? "" : Utiles.Formatos.Importe(Utiles.Validaciones.obtieneDouble(dr.ImporteNetoTotal));
            ((SisPacK.IGuiaImpresion)impresion).IvaInscriptoTotal           = dr.IsIVAInscriptoTotalNull() ? "" : Utiles.Formatos.Importe(Utiles.Validaciones.obtieneDouble(dr.IVAInscriptoTotal));
            ((SisPacK.IGuiaImpresion)impresion).PorcentajeIVAAplicado       = dr.IsPorcentajeIVANull() ? "" : dr.PorcentajeIVA.ToString("#,###0.00");
            ((SisPacK.IGuiaImpresion)impresion).ImporteRedondeoTotal        = dr.IsImporteRedondeoTotalNull() ? "" : Utiles.Formatos.Importe(dr.ImporteRedondeoTotal);
            ((SisPacK.IGuiaImpresion)impresion).ImporteTotalGuia            = dr.IsImporteTotalGuiaNull() ? "" : Utiles.Formatos.Importe(dr.ImporteTotalGuia);

            // Datos del CAI
            ((SisPacK.IGuiaImpresion)impresion).NumeroCAI           = dr.IsNumeroCAINull() ? "" : dr.NumeroCAI;
            ((SisPacK.IGuiaImpresion)impresion).FechaVencimientoCAI = dr.IsFechaVencimientoCAINull() ? "" : dr.FechaVencimientoCAI.ToString("dd/MM/yyyy");

            // Resto de los datos
            ((SisPacK.IGuiaImpresion)impresion).Fecha                = DateTime.Now.ToShortDateString();
            ((SisPacK.IGuiaImpresion)impresion).HoraEmision          = DateTime.Now.ToString("HH:mm");
            ((SisPacK.IGuiaImpresion)impresion).NombreAgenciaDestino = dr.IsNombreAgenciaDestinoNull() ? "" : dr.NombreAgenciaDestino;
            ((SisPacK.IGuiaImpresion)impresion).CantBultosTotal      = dr.IsCantidadBultosTotalNull() ? "" : dr.CantidadBultosTotal.ToString();
            ((SisPacK.IGuiaImpresion)impresion).PesoTotal            = dr.IsPesoTotalNull() ? "" : Utiles.Formatos.Importe(dr.PesoTotal);
            ((SisPacK.IGuiaImpresion)impresion).PesoBulto            = dr.IsPesoTotalNull() || dr.IsCantidadBultosTotalNull() ? "" : Utiles.Formatos.Importe(dr.PesoTotal / dr.CantidadBultosTotal);
            //this.lblPesoTotal.Text = dr.IsPesoBultoNull() ? "" : Utiles.Formatos.Importe(dr.PesoBulto);
            ((SisPacK.IGuiaImpresion)impresion).VolumenTotal        = dr.IsVolumenTotalNull() ? "" : Utiles.Formatos.Importe(dr.VolumenTotal);
            ((SisPacK.IGuiaImpresion)impresion).ValorDeclaradoTotal = Utiles.Formatos.Importe(dr.ValorDeclaradoTotal);
            ((SisPacK.IGuiaImpresion)impresion).ValorDeclaradoBulto = dr.IsValorDeclaradoBultoNull() ? "" : Utiles.Formatos.Importe(dr.ValorDeclaradoBulto);
            ((SisPacK.IGuiaImpresion)impresion).Comun            = dr.IsEsServicioComunNull() ? "" : (dr.EsServicioComun ? "X" : "");
            ((SisPacK.IGuiaImpresion)impresion).Expreso          = dr.IsEsServicioExpresoNull() ? "" : (dr.EsServicioExpreso ? "X" : "");
            ((SisPacK.IGuiaImpresion)impresion).AndesPack        = dr.IsEsAndespaqNull() ? "" : (dr.EsAndespaq ? "X" : "");
            ((SisPacK.IGuiaImpresion)impresion).Bolsin           = dr.IsEsBolsinNull() ? "" : (dr.EsBolsin ? "X" : "");
            ((SisPacK.IGuiaImpresion)impresion).RetiroDomicilio  = dr.IsEsRetiroDomicilioNull() ? "" : (dr.EsRetiroDomicilio ? "X" : "");
            ((SisPacK.IGuiaImpresion)impresion).Terminal         = dr.IsEsTerminalNull() ? "" : (dr.EsTerminal ? "X" : "");
            ((SisPacK.IGuiaImpresion)impresion).EntregaDomicilio = dr.IsEsEntregaDomcilioNull() ? "" : (dr.EsEntregaDomcilio ? "X" : "");
            ((SisPacK.IGuiaImpresion)impresion).FleteAcobrar     = dr.IsEsFleteCobrarNull() ? "" : (dr.EsFleteCobrar ? "X" : "");
            ((SisPacK.IGuiaImpresion)impresion).ContraReembolso  = dr.IsEsContraReembolsoNull() ? "" : (dr.EsContraReembolso ? "X" : "");
            ((SisPacK.IGuiaImpresion)impresion).NroSeguridad     = dr.IsNroSeguridadNull() ? "" : dr.NroSeguridad;

            /*SFE: Agregar Codigo de Cliente*/
            ((SisPacK.IGuiaImpresion)impresion).CodCliente = dr.IsCodClienteNull() ? "" : dr.CodCliente;

            // SFE: Código de barra AFIP
            ((SisPacK.IGuiaImpresion)impresion).RutaCodigoBarrasAFIP = "";
            ((SisPacK.IGuiaImpresion)impresion).NroGuiaCBAFIP        = Utiles.Formatos.Tipo2Numero(dr.TipoGuia) + dr.NroSucursalGuia.ToString() + dr.NroGuia;

            if (dr.IsEmpresaFacturacionIDNull() == false)
            {
                ((SisPacK.IGuiaImpresion)impresion).EmpresaFacturacionID = dr.EmpresaFacturacionID;
            }

            //				break;
            //			}
        }
        private DsGuiaFacturaImpresion ToDsGuiaFacturaImpresion(DsFacturaImpresion dsFac)
        {
            DsGuiaFacturaImpresion ds = new DsGuiaFacturaImpresion();

            DsGuiaFacturaImpresion.DatosRow dr = ds.Datos.NewDatosRow();

            foreach (DsFacturaImpresion.DatosRow drFac in dsFac.Datos.Rows)
            {
                dr.GuiaID                      = drFac.GuiaID;
                dr.TipoGuia                    = drFac.IsTipoGuiaNull() ? "" : drFac.TipoGuia;
                dr.NroSucursalGuia             = drFac.IsNroSucursalGuiaNull() ? "" : drFac.NroSucursalGuia;
                dr.NroGuia                     = drFac.IsNroGuiaNull() ? 0 : drFac.NroGuia;
                dr.CUITAgentePago              = drFac.IsNroCuitAgentePagoNull() ? "" : drFac.NroCuitAgentePago;
                dr.CondicionIvaAgentePago      = drFac.IsCondicionIvaAgentePagoNull() ? 0 : drFac.CondicionIvaAgentePago;
                dr.NombreAgenciaDestino        = drFac.IsNombreAgenciaDestinoNull() ? "" : drFac.NombreAgenciaDestino;
                dr.FechaEmision                = drFac.IsFechaEmisionNull() ? "" : drFac.FechaEmision;
                dr.CodCliente                  = drFac.IsCodigoDestinatarioNull() ? "" : drFac.CodigoDestinatario;
                dr.NombrePersonaDestinatario   = drFac.IsNombreNull() ? "" : drFac.Nombre;
                dr.NombreEmpresaDestinatario   = drFac.IsNombreNull() ? "" : drFac.Nombre;
                dr.DireccionDestinatario       = drFac.IsDireccionNull() ? "" : drFac.Direccion;
                dr.LocalidadDestinatario       = drFac.IsLocalidadNull() ? "" : drFac.Localidad;
                dr.TelefonoDestinatario        = drFac.IsTelefonoNull() ? "" : drFac.Telefono;
                dr.NroCuitAgentePago           = drFac.IsNroCuitAgentePagoNull() ? "" : drFac.NroCuitAgentePago;
                dr.CantidadBultosTotal         = System.Convert.ToInt32(drFac.IsCantidadBultosTotalNull() ? 0 : drFac.CantidadBultosTotal);
                dr.VolumenTotal                = drFac.IsVolumenTotalNull() ? 0.00 : drFac.VolumenTotal;
                dr.ValorDeclaradoTotal         = drFac.ValorDeclaradoTotal;
                dr.ValorDeclaradoBulto         = drFac.IsValorDeclaradoBultoNull() ? 0.00 : drFac.ValorDeclaradoBulto;
                dr.PesoTotal                   = drFac.IsPesoTotalNull() ? 0.00 : drFac.PesoTotal;
                dr.ImporteFleteNacional        = drFac.IsImporteFleteNacionalNull() ? 0.00 : drFac.ImporteFleteNacional;
                dr.ImporteSeguro               = drFac.IsImporteSeguroNull() ? 0.00 : drFac.ImporteSeguro;
                dr.ImporteRetiro               = drFac.IsImporteRetiroNull() ? 0.00 : drFac.ImporteRetiro;
                dr.ImporteEntrega              = drFac.IsImporteEntregaNull() ? 0.00 : drFac.ImporteEntrega;
                dr.ImporteComisContraReembolso = drFac.IsImporteComisContraReembolsoNull() ? 0.00 : drFac.ImporteComisContraReembolso;
                dr.ImporteServicioAdicional    = drFac.IsImporteServicioAdicionalNull() ? 0.00 : drFac.ImporteServicioAdicional;
                dr.ImporteNetoTotal            = drFac.IsImporteNetoNull() ? "" : drFac.ImporteNeto;
                dr.IVAInscriptoTotal           = drFac.IsIVAInscriptoTotalNull() ? "" : drFac.IVAInscriptoTotal.ToString("#,###0.00");
                dr.ImporteTotalGuia            = drFac.IsImporteTotalNull() ? 0.00 : drFac.ImporteTotal;
                dr.EsContado                   = drFac.IsEsContadoNull() ? false : drFac.EsContado;
                dr.EsCtaCte                    = drFac.IsEsCtaCteNull() ? false : drFac.EsCtaCte;
                dr.FechaInicioActividades      = drFac.IsFechaInicioActividadesNull() ? new DateTime(1, 1, 1) : drFac.FechaInicioActividades;
                dr.NombreAgenciaOrigen         = drFac.IsNombreAgenciaOrigenNull() ? "" : drFac.NombreAgenciaOrigen;
                dr.DireccionAgenciaOrigen      = drFac.IsDireccionAgenciaDestinoNull() ? "" : drFac.DireccionAgenciaDestino;
                dr.TelefonoAgenciaOrigen       = drFac.IsTelefonoAgenciaDestinoNull() ? "" : drFac.TelefonoAgenciaDestino;
                dr.NumeroCAI                   = drFac.NumeroCAI;
                dr.Observaciones               = drFac.Observaciones;
                dr.FechaVencimientoCAI         = drFac.IsFechaVencimientoCAINull() ? new DateTime(1, 1, 1) : drFac.FechaVencimientoCAI;
                dr.TextoDorso                  = drFac.TextoDorso;
                dr.LocalidadAgenciaOrigen      = drFac.IsLocalidadAgenciaDestinoNull() ? "" : drFac.LocalidadAgenciaDestino;
                dr.ProvinciaAgenciaOrigen      = drFac.IsProvinciaAgenciaDestinoNull() ? "" : drFac.ProvinciaAgenciaDestino;
                //Se agregó porque sino EmpresaFacturacionID era 0. FQuiroga 26/05/2015
                dr.EmpresaFacturacionID = drFac.IsEmpresaFacturacionIDNull() ? 0 : drFac.EmpresaFacturacionID;

                IAgencia datosAgencia = AgenciaFactory.GetAgencia();
                //datosAgencia.AgenciaID = AgenciaConectadaID;
                IGuia guia = GuiaFactory.GetGuia();
                guia.GuiaID = Utiles.Validaciones.obtieneEntero(Session["GuiaID"].ToString());
                guia.Consultar();
                datosAgencia.AgenciaID = guia.AgenciaDestinoID;

                datosAgencia.Consultar();
                datosAgencia.Empresa.Consultar();
                dr.CUITEmpresa = datosAgencia.Empresa.NroCUIT;

                dr.FacturaAsociada = "Guía Nº: " + Validaciones.obtieneEntero(guia.NroSucursalGuia).ToString("0000") + "-" + guia.NroGuia.ToString("00000000") + "-" + NegociosSisPackInterface.SisPack.CodigoTipoGuia.R;
                dr.EsFacturaRemito = true;
                dr.PesoTotal       = drFac.IsPesoTotalNull() ? 0 : drFac.PesoTotal;
                dr.PesoBulto       = 0;
                ds.Datos.AddDatosRow(dr);
                break;
            }
            // Devuelvo la conversión del dataset
            return(ds);
        }
        private string ExportarPDF(DsFacturaImpresion dsFac)
        {
            ReportDocument             oRD = new ReportDocument();
            ExportOptions              oExO;
            DiskFileDestinationOptions oExDo  = new DiskFileDestinationOptions();
            IGuiaPasajeACtaCte         oDatos = GuiaPasajeACtaCteFactory.GetGuiaPasajeACtaCte();
            string nombrePDf = string.Empty;

            foreach (DsFacturaImpresion.DatosRow drFac in dsFac.Datos.Rows)
            {
                try
                {
                    int GuiaID = Utiles.Validaciones.obtieneEntero(Session["GuiaID"].ToString());
                    nombrePDf = "NotaAutDebACtaCte_" + GuiaID + "_" + this.AgenciaConectadaID + ".pdf";

                    string sNombrePDF = Server.MapPath(".") + "/ReportesPDF/" + nombrePDf;
                    if (System.IO.File.Exists(sNombrePDF))
                    {
                        System.IO.File.Delete(sNombrePDF);
                    }

                    //Cargar plantilla
                    oRD.Load(Server.MapPath("." + "/Reportes/NotaAutDebACtaCte.rpt"));

                    DsGuiaFacturaImpresion          ds     = (DsGuiaFacturaImpresion)Session["DatosGuia"];
                    DsGuiaFacturaImpresion.DatosRow drComp = (DsGuiaFacturaImpresion.DatosRow)ds.Datos.Rows[0];
                    oRD.SetParameterValue("ClienteNombre", drFac.IsNombreEmpresaDestinatarioNull() ? (drFac.IsNombrePersonaDestinatarioNull() ? "" : drFac.NombrePersonaDestinatario) : drFac.NombreEmpresaDestinatario);
                    oRD.SetParameterValue("ClienteCodigo", drFac.IsCodigoDestinatarioNull() ? "0" : drFac.CodigoDestinatario);
                    oRD.SetParameterValue("NroGuia", drFac.NroSucursalGuia.ToString() + "-" + drFac.NroGuia.ToString());
                    oRD.SetParameterValue("ImporteGuia", drFac.IsImporteTotalNull() ? "0.00" : drFac.ImporteTotal.ToString());

                    /* VSA: Obtener los datos del pasaje para emitir la autorización. */
                    oDatos.GuiaID = GuiaID;
                    oDatos.Consultar();

                    oRD.SetParameterValue("PersonaSolicitante", oDatos.PersonaSolicitante);
                    oRD.SetParameterValue("Observaciones", oDatos.Observaciones.Equals("") ? "-" : oDatos.Observaciones);
                    //Exportar a PDF
                    oExDo.DiskFileName = sNombrePDF;
                    oExO = oRD.ExportOptions;
                    oExO.ExportDestinationType = ExportDestinationType.DiskFile;
                    oExO.ExportFormatType      = ExportFormatType.PortableDocFormat;
                    oExO.DestinationOptions    = oExDo;
                    oRD.Export();
                    oRD.Close();
                    oRD.Dispose();
                    return(nombrePDf);
                }
                catch (Exception ex)
                {
                    string mensaje = "Error al generar la nota para autorizar el débito a la cuenta corriente del cliente. " + ex.Message;

                    ((SisPacK.ErrorWeb) this.phErrores.Controls[0]).setMensaje(mensaje);
                    return("");
                }
                finally
                {
                    oRD.Close();
                    oRD.Dispose();
                }
            }
            return("");
        }
        protected void btnConsultar_Click(object sender, EventArgs e)
        {
            try
            {
                IAgencia ag = AgenciaFactory.GetAgencia();
                ag.AgenciaID = usuario.AgenciaID;
                ag.Consultar();

                int    NroDesde = Convert.ToInt32(txtFechaDesde.Text);
                int    NroHasta = Convert.ToInt32(txtFechaHasta.Text);
                string tipoguia = ddlTipoGuia.SelectedValue;

                int cantidad = NroHasta - NroDesde;


                if (cantidad >= 51 || cantidad < 0)
                {
                    throw new Exception("Solamente se permite un rango de 50 guías a imprimir .");
                }

                if (txtCantidad.Text == "")
                {
                    throw new Exception("Falta ingresar la cantidad de hojas a imprimir.");
                }

                if (txtFechaDesde.Text == "" && txtFechaHasta.Text == "")
                {
                    throw new Exception("Falta ingresar Rango");
                }

                if (txtFechaDesde.Text != "" && txtFechaHasta.Text == "")
                {
                    throw new Exception("Falta ingresar ");
                }

                if (txtFechaDesde.Text == "" && txtFechaHasta.Text != "")
                {
                    throw new Exception("Falta ingresar Rango");
                }

                string nrosucursal = ag.SucursalDGI.Trim();

                if (ddlEmpresa.SelectedValue == "Cargas")
                {
                    string SucursalFinal = ag.SucursalDGI.Trim().Substring(1, 3);
                    nrosucursal = 5 + SucursalFinal;
                    //5
                }
                else if (ddlEmpresa.SelectedValue == "Express")
                {
                    nrosucursal = ag.SucursalDGI.Trim();
                    //4
                }
                else
                {
                    nrosucursal = "";
                }
                IGuia    oGuia    = GuiaFactory.GetGuia();
                IFactura oFactura = FacturaFactory.GetFactura();
                DsGuias  ds       = new DsGuias();

                IAgencia agencia = null;

                ds = oGuia.GetGuiasByFecha(NroDesde, NroHasta, nrosucursal, tipoguia, usuario.AgenciaID);

                if (ds.Datos.Count == 0)
                {
                    throw new Exception("No existen guias en el rango ingresado");
                }

                if (ds.Datos.Count > 0)
                {
                    for (int i = 0; i < ds.Datos.Count(); i++)
                    {
                        DsGuias.DatosRow dr     = (DsGuias.DatosRow)ds.Datos.Rows[i];
                        string           guiaid = dr.GuiaID.ToString();

                        /* Traer datos de impresión. */
                        agencia           = AgenciaFactory.GetAgencia();
                        agencia.AgenciaID = dr.AgenciaOrigenID;
                        agencia.ConsultarBasico();
                        dr = null;

                        IAdministrarGuias oAdminGuia = AdministrarGuiasFactory.GetAdministrarGuias();
                        oAdminGuia.GuiaID = Convert.ToInt32(guiaid.Trim());
                        drGuia            = (DsGuiaFacturaImpresion.DatosRow)(oAdminGuia.GetDataSetImpresionByGuiaID()).Datos.Rows[0];

                        drGuia.CantidadCopiasImprimir = 1;
                        dsFacturaImpresion.Datos.ImportRow(drGuia);
                        oAdminGuia = null;


                        Session["DatosGuia"] = dsFacturaImpresion;
                        dsFacturaImpresion   = (DsGuiaFacturaImpresion)Session["DatosGuia"];
                    }
                }
                string paginaImpresion = agencia.GetPaginaImpresion(3, "Andesmar");

                if (paginaImpresion.Trim().Equals(""))
                {
                    throw new Exception("No se puede reimprimir la guía ingresada. La página de impresión no está definida.");
                }
                agencia = null;
                /*****************************/

                string scriptString = "<script language='javascript'>\n";
                scriptString += "		window.showModalDialog('"+ paginaImpresion + "?CantCopias=" + txtCantidad.Text + "','Reimprimiendo Guía...','dialogHeight: 934px;dialogWidth: 762px;edge: Raised; center: No; Status:No; help: No; resizable: No;');";
                scriptString += "		window.location.href = 'ReimprimirGuia.aspx';\n";
                scriptString += "	  </script>\n";

                Page.RegisterStartupScript("scriptImpresion", scriptString);

                oGuia              = null;
                oFactura           = null;
                dsFacturaImpresion = null;
                ds = null;
            }
            catch (Exception ex)
            {
                ((ErrorWeb)(this.phErrores.Controls[0])).setMensaje(TraducirTexto(ex.Message));
            }
        }
        protected void btnReimprimeOKCliente_Click1(object sender, EventArgs e)


        {
            string pagina = "";
            //  DsEmisionMasivaClienteFin.DatosDataTable dse = (DsEmisionMasivaClienteFin.DatosDataTable)Session["dsDatosRemiprimir"];
            DsEmisionMasivaClienteDLFin ds = (DsEmisionMasivaClienteDLFin)Session["dsDatosRemiprimir"];

            // foreach (DsEmisionMasivaClienteFin.DatosRow drr in dse)
            foreach (DsEmisionMasivaClienteDLFin.DatosRow drr in ds.Datos.Rows)
            {
                if (drr.Imprimir == true && drr.Emitida != "")
                {
                    int cant = drr.Emitida.Length;
                    // string Valo = "";
                    string cadena = Convert.ToString(drr.Emitida);
                    string tguia  = cadena.Substring(0, 1);
                    string nroSuc = cadena.Substring(2, 4);
                    int    numero = cant - 7;
                    string nro    = cadena.Substring(7, numero);

                    IGuia guia = GuiaFactory.GetGuia();
                    guia.TipoGuia        = tguia;
                    guia.NroSucursalGuia = nroSuc;
                    guia.NroGuia         = Convert.ToInt32(nro);
                    guia.ConsultarByNroGuia();

                    IAdministrarGuias oAdminGuia = AdministrarGuiasFactory.GetAdministrarGuias();
                    oAdminGuia.GuiaID = guia.GuiaID;
                    drGuia            = (DsGuiaFacturaImpresion.DatosRow)(oAdminGuia.GetDataSetImpresionByGuiaID()).Datos.Rows[0];

                    drGuia.CantidadCopiasImprimir = 1;
                    dsFacturaImpresion.Datos.ImportRow(drGuia);
                    oAdminGuia = null;


                    DsGuiaFacturaImpresion dataSrc = admGuiaO.GetDataSetImpresion();


                    // Seteo la página con la cual se van ha imprimir las facturas de entrega
                    IAgencia agOrigen = AgenciaFactory.GetAgencia();
                    agOrigen.AgenciaID = AgenciaConectadaID;
                    agOrigen.ConsultarBasico();
                    pagina   = ObtienePaginaImpresion(agOrigen.TipoImpresionGuiaId);
                    agOrigen = null;

                    Session["DatosGuia"] = dsFacturaImpresion;
                    dsFacturaImpresion   = (DsGuiaFacturaImpresion)Session["DatosGuia"];
                }
            }


            DsAgencias dsa = new DsAgencias();
            IAgencia   ag  = AgenciaFactory.GetAgencia();

            ag.AgenciaID = AgenciaConectadaID;

            dsa = ag.GetAgenciasConsultaDataSet();
            string filtro = "AgenciaID =" + AgenciaConectadaID + "";


            DsAgencias.DatosRow[] drLista = (DsAgencias.DatosRow[])dsa.Datos.Select(filtro);

            DsGuiaFacturaImpresion dsFactura = (DsGuiaFacturaImpresion)Session["DatosGuia"];

            //DsEmisionMasiva.DatosDataTable ds = (DsEmisionMasiva.DatosDataTable)Session["dsEmisionMasiva"];

            if (dsFactura.Datos.Count() > 0)
            {
                string script = "";
                System.Web.HttpBrowserCapabilities browser = Request.Browser;
                string name    = browser.Browser;
                float  version = (float)(browser.MajorVersion + browser.MinorVersion);
                if ((name == "IE" && (version == 8)))
                {
                    // script += "window.showModalDialog('" + pagina + "','Imprimiendo Factura...','Height: 934px;Width: 762px;edge: Raised; center: No; Status:No; help: No; resizable: No;');\n";
                    //   script += "		window.showModalDialog('"+pagina+"','','dialogHeight: 934px;dialogWidth: 762px;edge: Raised; center: No; Status:No; help: No; resizable: No;');";
                    script += "		window.open('"+ pagina + "','','Height: 934px;Width: 762px;edge: Raised; center: No; Status:No; help: No; resizable: No;');";
                    ScriptManager.RegisterClientScriptBlock(this.UpdatePanel1,
                                                            UpdatePanel1.GetType(),
                                                            "scriptOpen",
                                                            script,
                                                            true);
                }
                else
                {
                    // script += "window.open('" + pagina + "','Imprimiendo Factura...','left=400, top=100, height=500, width= 800, status=no, resizable=no, scrollbars=no, toolbar=yes,location= no, menubar=yes')";
                    script += "		window.open('"+ pagina + "','','Height: 934px;Width: 762px;edge: Raised; center: No; Status:No; help: No; resizable: No;');";
                    ScriptManager.RegisterClientScriptBlock(this.UpdatePanel1,
                                                            UpdatePanel1.GetType(),
                                                            "scriptOpen",
                                                            script,
                                                            true);
                }
            }
        }