protected void butGuardar_Click(object sender, EventArgs e)
        {
            try
            {
                int cantidad = 0;

                if (busqAgencia.AgenciaID == "" && busqAgencia.RazonSocial == "")
                // Consultar con Diego!!!
                {
                    ((ErrorWeb)this.phErrores.Controls[0]).setMensaje("Debe seleccionar una agencia.");
                    return;
                }
                if (busqCliente.ClienteID != "" && busqCliente.RazonSocial != "")
                {
                    cantidad = ++cantidad;
                }
                if (busqProveedor1.ProveedorID != "" && busqProveedor1.RazonSocial != "")
                {
                    cantidad = ++cantidad;
                }
                else if (chkAgregarProveedor.Checked && txtDocumento.Text.Trim() != string.Empty && txtRazonSocial.Text.Trim() != string.Empty)
                {
                    cantidad = ++cantidad;
                }

                if (cantidad > 1)
                {
                    ((ErrorWeb)this.phErrores.Controls[0]).setMensaje("Debe seleccionar  un cliente o un Proveedor");
                    // Consultar con Diego!!!
                    return;
                }
                else
                {
                    IUnidadesLogisticasAsignacion unidad = UnidadesLogisticasAsignacionFactory.GetUnidadesLogisticasAsignacion();
                    unidad.Fecha = DateTime.Now;
                    if (busqAgencia.AgenciaID != "" && busqAgencia.RazonSocial != "")
                    {
                        unidad.AgenciaID = int.Parse(busqAgencia.AgenciaID);
                    }
                    else
                    {
                        unidad.AgenciaID = 0;
                    }

                    if (busqCliente.ClienteID != "" && busqCliente.RazonSocial != "")
                    {
                        unidad.ClienteID = int.Parse(busqCliente.ClienteID);
                    }
                    else
                    {
                        unidad.ClienteID = 0;
                    }

                    if (busqProveedor1.ProveedorID != "" && busqProveedor1.RazonSocial != "")
                    {
                        unidad.ProveedorID = int.Parse(busqProveedor1.ProveedorID);
                    }
                    else
                    {
                        unidad.ProveedorID = 0;
                    }

                    if (busqProveedor1.ProveedorID == "" && chkAgregarProveedor.Checked)
                    {
                        unidad.Documento        = txtDocumento.Text;
                        unidad.RazonSocial      = txtRazonSocial.Text;
                        unidad.AgregarProveedor = true;
                    }

                    if (busqObservacion.ObservacionID != "" && busqObservacion.ObsDescrip != "")
                    {
                        unidad.ObservacionID = Utiles.Validaciones.obtieneEntero(busqObservacion.ObservacionID);
                    }
                    else
                    {
                        unidad.ObservacionID = 0;
                    }
                    IList <IGuiaUnidadLogisticaDetalle> lista;

                    unidad.UnidadesLogisticasID = int.Parse(ddlUnidades.SelectedItem.Value);
                    unidad.UsuarioID            = ((IUsuarios)Session["Usuario"]).UsuarioID;
                    unidad.Cantidad             = ddlTipoAccion.SelectedItem.Value == "1" ? int.Parse(txtCantidad.Text) : (-1 * int.Parse(txtCantidad.Text));


                    if (Session["UnidadesAsigAut"] != null)
                    {
                        lista = (List <IGuiaUnidadLogisticaDetalle>)Session["UnidadesAsigAut"];
                    }
                    else
                    {
                        lista = new List <IGuiaUnidadLogisticaDetalle>();
                    }
                    lista.Add(new NegociosSisPack.GuiaUnidadLogisticaDetalle()
                    {
                        Cantidad          = int.Parse(txtCantidad.Text),
                        UnidadLogisticaId = int.Parse(ddlUnidades.SelectedItem.Value),
                        Descripcion       = ddlUnidades.SelectedItem.Text,
                        ClienteId         = unidad.ClienteID,
                        RazonCliente      = unidad.RazonSocial,
                        ProveedorId       = unidad.ProveedorID,
                        RazonProv         = unidad.RazonSocial,
                        UsuarioID         = this.usuario.UsuarioID,
                        AgenciaID         = AgenciaConectadaID
                    });
                    Session["UnidadesAsigAut"] = lista;

                    #region ArmarGuiaUnidadLogistica
                    cantidad = 0;
                    /*Cargo datos para la emision de la guia de Unidad de Logistica*/
                    IGuiaUnidadLogistica guiaUnidad = GuiaUnidadLogisticaFactory.GetIGuiaUnidadLogistica();
                    this.ObtenerNroGuia();
                    ((IGuia)guiaUnidad).NumeroCAI       = this.numeroCAI;
                    ((IGuia)guiaUnidad).TipoGuia        = this.tipoGuiaUnidadLogistica;
                    ((IGuia)guiaUnidad).NroSucursalGuia = this.nroSucursalGuiaUnidadLogistica;
                    ((IGuia)guiaUnidad).NroGuia         = this.nroGuiaUnidadLogistica;
                    /**/
                    ((IGuia)guiaUnidad).AgenciaOrigenID     = this.AgenciaConectadaID;
                    ((IGuia)guiaUnidad).UnidadNegocioID     = this.UnidadNegocioID;
                    ((IGuia)guiaUnidad).ClasificacionGuiaID = NegociosSisPackInterface.SisPack.ClasificacionGuia.UnidadLogistica;
                    ((IGuia)guiaUnidad).AgenciaDestinoID    = Utiles.Validaciones.obtieneEntero(busqAgencia.AgenciaID);



                    foreach (var guiaUL in (List <IGuiaUnidadLogisticaDetalle>)Session["UnidadesAsigAut"])
                    {
                        cantidad = cantidad + guiaUL.Cantidad;
                        guiaUnidad.GuiasUnidadesLogisticas.AddGuiaUnidadLogisticaDetalle(guiaUL);
                    }
                    ((IGuiaFactura)guiaUnidad).EmpresaFacturacionID = 1;

                    ((IGuiaFactura)guiaUnidad).CantidadBultosTotal = Utiles.Validaciones.obtieneEntero(txtCantidad.Text);
                    guiaUnidad.TipoOperacionUnidadLogistica        = (ddlTipoAccion.SelectedItem.Value == "1" ? NegociosSisPackInterface.SisPack.TipoOperacionUnidadLogistica.Ingreso : NegociosSisPackInterface.SisPack.TipoOperacionUnidadLogistica.Egreso);
                    ((IGuia)guiaUnidad).ObservacionID = Utiles.Validaciones.obtieneEntero(busqObservacion.ObservacionID);
                    #endregion

                    /*Guardo la asignacion y la guia de unidad de logistica*/
                    if (unidad.Guardar(guiaUnidad, null))
                    {
                        BindGrid();
                        #region ImpresionGuiaUnidadLogistica
                        Session["UnidadesAsigAut"] = null;
                        IAdministrarGuias admGuia = AdministrarGuiasFactory.GetAdministrarGuias();
                        admGuia.GuiaID = ((NegociosSisPack.Guia)guiaUnidad).GuiaID;
                        DsGuiaFacturaImpresion dataSrc = admGuia.GetDataSetImpresionByGuiaID();
                        Session["DatosGuia"] = dataSrc;
                        IAgencia agOrigen = AgenciaFactory.GetAgencia();
                        agOrigen.AgenciaID = AgenciaConectadaID;
                        agOrigen.ConsultarBasico();
                        if (agOrigen.TipoImpresionGuiaId == 0)
                        {
                            ((ErrorWeb)this.phErrores.Controls[0]).setMensaje("No se puede imprimir la guía de unidad de logistica generada. El tipo de impresión no está definido.");
                            return;
                        }
                        // Voy a imprimir siempre como Autoimpresor_EnBlanco porque es un comprobante interno.
                        agOrigen.TipoImpresionGuiaId = (int)NegociosSisPackInterface.SisPack.TipoImpresionGuia.Autoimpresor_EnBlanco;
                        txtPaginaImpresion.Value     = agOrigen.GetPaginaImpresion(agOrigen.TipoImpresionGuiaId, this.Implementacion);
                        txtGuiaUnidadID.Value        = ((NegociosSisPack.Guia)guiaUnidad).GuiaID.ToString();
                        string pagina = agOrigen.GetPaginaImpresion(agOrigen.TipoImpresionGuiaId, this.Implementacion);
                        string script = "<script language='javascript'>\n";
                        script += "			window.showModalDialog('"+ pagina +
                                  "','Imprimiendo Guía de unidad logistica...','dialogHeight: 934px;dialogWidth: 762px;edge: Raised; center: No; Status:No; help: No; resizable: No;');";
                        script += "		</script>\n";
                        Page.RegisterStartupScript("scriptImprimirGuiaUnidad", script);

                        #endregion
                        txtCantidad.Text              = string.Empty;
                        ddlUnidades.SelectedIndex     = 0;
                        ddlTipoAccion.SelectedIndex   = 0;
                        txtDocumento.Text             = string.Empty;
                        txtRazonSocial.Text           = string.Empty;
                        busqObservacion.ObservacionID = string.Empty;
                        busqObservacion.ObsDescrip    = string.Empty;
                        busqObservacion.ObservacionID = string.Empty;
                        busqObservacion.Codigo        = string.Empty;

                        Session["UnidadesAsigAut"] = null;
                        string mensaje = "Los datos se guardaron correctamente.";

                        string script1 = "<script language='javascript'>\n";
                        script1 += "alert('" + mensaje + "');";
                        script1 += "</script>";

                        Page.RegisterStartupScript("scriptOk", script1);
                    }
                }
            }
            catch (Exception ex)
            {
                Session["UnidadesAsigAut"] = null;
                ((ErrorWeb)this.phErrores.Controls[0]).setMensaje("No se pudo realizar la operación: " + ex.Message);
            }
        }
Example #2
0
        private bool EmitirUnidadLogistica()
        {
            int cantidad = 0;

            IGuiaUnidadLogistica guiaUnidad = GuiaUnidadLogisticaFactory.GetIGuiaUnidadLogistica();

            this.ObtenerNroGuia();
            ((IGuia)guiaUnidad).NumeroCAI       = this.numeroCAI;
            ((IGuia)guiaUnidad).TipoGuia        = this.tipoGuiaUnidadLogistica;
            ((IGuia)guiaUnidad).NroSucursalGuia = this.nroSucursalGuiaUnidadLogistica;
            ((IGuia)guiaUnidad).NroGuia         = this.nroGuiaUnidadLogistica;
            /**/
            ((IGuia)guiaUnidad).AgenciaOrigenID     = this.AgenciaConectadaID;
            ((IGuia)guiaUnidad).UnidadNegocioID     = this.UnidadNegocioID;
            ((IGuia)guiaUnidad).ClasificacionGuiaID = NegociosSisPackInterface.SisPack.ClasificacionGuia.UnidadLogistica;

            NegociosSisPack.ParametroUNegocio parametro = new NegociosSisPack.ParametroUNegocio();
            parametro.UnidadNegocioID = 1;
            parametro.Parametro       = NegociosSisPackInterface.SisPack.Parametro.AgenciaDeAdministracion;
            parametro.Consultar();

            ((IGuia)guiaUnidad).AgenciaDestinoID = Utiles.Validaciones.obtieneEntero(parametro.ValorString);

            foreach (var guiaUL in (List <IGuiaUnidadLogisticaDetalle>)Session["UnidadesAsigDev"])
            {
                cantidad = cantidad + guiaUL.Cantidad;
                guiaUnidad.GuiasUnidadesLogisticas.AddGuiaUnidadLogisticaDetalle(guiaUL);
            }

            ((IGuiaFactura)guiaUnidad).CantidadBultosTotal = cantidad;

            guiaUnidad.TipoOperacionUnidadLogistica = NegociosSisPackInterface.SisPack.TipoOperacionUnidadLogistica.Egreso;

            /**/
            guiaUnidad.EsPedidoDevolucion = true;
            ((IGuia)guiaUnidad).NoRegistrarEstadoEmitida = true;

            if (guiaUnidad.EmitirGuiaUnidadLogistica(null, this.usuario, false))  // validar stock cuando emite la guia asociada
            {
                //limpiarCarga();
                //dtgUnidades.DataSource = null;
                //dtgUnidades.DataBind();
                Session["UnidadesAsigDev"] = null;
                IAdministrarGuias admGuia = AdministrarGuiasFactory.GetAdministrarGuias();
                admGuia.GuiaID = ((NegociosSisPack.Guia)guiaUnidad).GuiaID;
                DsGuiaFacturaImpresion dataSrc = admGuia.GetDataSetImpresionByGuiaID();
                Session["DatosGuia"] = dataSrc;

                IAgencia agOrigen = AgenciaFactory.GetAgencia();
                agOrigen.AgenciaID = AgenciaConectadaID;
                agOrigen.ConsultarBasico();
                if (agOrigen.TipoImpresionGuiaId == 0)
                {
                    ((SisPacK.ErrorWeb) this.phErrores.Controls[0]).setMensaje("No se puede imprimir la guía de unidad de logistica generada. El tipo de impresión no está definido.");
                    return(false);
                }
                // Voy a imprimir siempre como Autoimpresor_EnBlanco porque es un comprobante interno.
                agOrigen.TipoImpresionGuiaId = (int)NegociosSisPackInterface.SisPack.TipoImpresionGuia.Autoimpresor_EnBlanco;
                txtPaginaImpresion.Value     = agOrigen.GetPaginaImpresion(agOrigen.TipoImpresionGuiaId, this.Implementacion);

                txtGuiaUnidadID.Value = ((NegociosSisPack.Guia)guiaUnidad).GuiaID.ToString();


                string pagina = agOrigen.GetPaginaImpresion(agOrigen.TipoImpresionGuiaId, this.Implementacion);

                string script = "window.showModalDialog('" + pagina +
                                "','Imprimiendo Guía de unidad logistica...','dialogHeight: 934px;dialogWidth: 762px;edge: Raised; center: No; Status:No; help: No; resizable: No;');";

                //Page.RegisterStartupScript("scriptImprimirGuiaUnidad", script);

                ScriptManager.RegisterClientScriptBlock(this.UpdatePanel2, UpdatePanel2.GetType(), "scriptImprimirGuiaUnidad", script, true);

                return(true);
            }
            else
            {
                return(false);
            }
        }
        private void butImprimir_Click(object sender, System.EventArgs e)
        {
            try
            {
                IGuia     oGuia      = GuiaFactory.GetGuia();
                IFactura  oFactura   = FacturaFactory.GetFactura();
                DsGuias   ds         = new DsGuias();
                DsFactura dsFacturas = null;
                DsGuiaFacturaImpresion dsFacturaImpresion;
                IAgencia agencia             = null;
                int      tipoImpresionGuiaID = 0;
                int      puedeReimprimir     = 0;

                /*if(this.rbCodigo.Checked)
                 *  ds = oGuia.GetGuiasOneByCodigoBarra(this.txtCodigoBarra.Text.Trim());
                 */

                if (this.rbCodigo.Checked)
                {
                    try
                    {
                        oGuia.TipoGuia = NegociosSisPackInterface.SisPack.TipoGuia(this.txtCodigoBarra.Text.Substring(0, 1).Trim()).Trim();

                        if (oGuia.TipoGuia.Equals(""))
                        {
                            throw new Exception("Errores.Invalidos.CodigoBarrasLongitud");
                        }

                        oGuia.NroSucursalGuia = this.txtCodigoBarra.Text.Substring(1, 4);
                        oGuia.NroGuia         = Convert.ToInt32(this.txtCodigoBarra.Text.Substring(5));
                    }
                    catch (Exception)
                    {
                        ((ErrorWeb)this.phErrores.Controls[0]).setMensaje("No se ha ingresado un nro. de guía correcto.");
                        return;
                    }
                }
                else if (this.rbTipo.Checked)
                {
                    oGuia.TipoGuia        = this.ddlTipoGuia.SelectedValue;
                    oGuia.NroSucursalGuia = this.txtNroSucursal.Text.Trim().Equals("") ? "0" : this.txtNroSucursal.Text.Trim();
                    oGuia.NroGuia         = this.txtNroGuia.Text.Trim().Equals("") ? 0 : Convert.ToInt32(this.txtNroGuia.Text.Trim());
                }
                else
                {
                    ((ErrorWeb)this.phErrores.Controls[0]).setMensaje("No se ha ingresado el nro. de guía ha reimprimir.");
                    return;
                }

                ds = oGuia.GetGuiaOneDataSet();


                if (ds.Datos.Count == 0)
                {
                    oFactura.TipoGuia        = oGuia.TipoGuia;
                    oFactura.NroSucursalGuia = oGuia.NroSucursalGuia;
                    oFactura.NroGuia         = oGuia.NroGuia;
                    dsFacturas = oFactura.GetByNroFactura();
                }

                if (ds.Datos.Count > 0)
                {
                    DsGuias.DatosRow dr = (DsGuias.DatosRow)ds.Datos.Rows[0];
                    this.txtGuiaID.Text = dr.GuiaID.ToString();
                    puedeReimprimir     = oGuia.VerificarReImpresion(dr.GuiaID, this.usuario.AgenciaID);
                    if (puedeReimprimir == 1)
                    {
                        ((ErrorWeb)this.phErrores.Controls[0]).setMensaje("No se puede reimprimir una guia FPD en el destino.");
                        return;
                    }
                    else if (puedeReimprimir == 2)
                    {
                        ((ErrorWeb)this.phErrores.Controls[0]).setMensaje("No se puede reimprimir la guia ya que no esta en la agencia.");
                        return;
                    }
                    else
                    {
                        oGuia.RegistrarReImpresion(this.usuario.UsuarioID, this.usuario.AgenciaID, dr.GuiaID);
                    }

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

                    /* Traer los datos de la guía para la impresión. */
                    IAdministrarGuias oAdminGuia = AdministrarGuiasFactory.GetAdministrarGuias();
                    oAdminGuia.GuiaID  = Convert.ToInt32(this.txtGuiaID.Text.Trim());
                    dsFacturaImpresion = oAdminGuia.GetDataSetImpresionByGuiaID();
                    oAdminGuia         = null;

                    // 20/12/2013. Consulto (seteo) el tipo de impresion segun la agencia y la empresa de facturacion
                    tipoImpresionGuiaID = Convert.IsDBNull(dsFacturaImpresion.Datos[0].TipoImpresionGuiaID) ? 0 : dsFacturaImpresion.Datos[0].TipoImpresionGuiaID;

                    Session["DatosGuia"] = dsFacturaImpresion;
                    /*************************************************/
                }
                else if (ds.Datos.Count == 0)
                {
                    if (dsFacturas.Datos.Count > 0)
                    {
                        DsFactura.DatosRow drFac = (DsFactura.DatosRow)dsFacturas.Datos.Rows[0];
                        //this.txtGuiaID.Text = drFac.GuiaID.ToString();

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

                        /* Traer los datos de la factura para la impresión. */
                        oFactura.FacturaID = drFac.FacturaID;
                        // Reviso si se trata de una factura de concepto de facturación o de una factura que cancela un remito pendiente
                        if (dsFacturas.Datos[0].ClasificacionFacturaID == (Int32)NegociosSisPackInterface.SisPack.ClasificacionFactura.ConceptoFacturacion)
                        {
                            // Se trata de una factura de concepto de facturación
                            dsFacturaImpresion   = ToDsGuiaFacturaConceptoImpresion(oFactura.GetFacturaConceptoImpresionByFacturaID());
                            tipoImpresionGuiaID  = Convert.IsDBNull(dsFacturaImpresion.Datos[0].TipoImpresionGuiaID) ? 0 : dsFacturaImpresion.Datos[0].TipoImpresionGuiaID;
                            Session["DatosGuia"] = dsFacturaImpresion;
                        }
                        else
                        {
                            // Se trata de una factura de un flete pago en destino, entrega o un remito de cta cte
                            dsFacturaImpresion = ToDsGuiaFacturaImpresion(drFac.AgenciaID, oFactura.GetFacturaImpresionByFacturaID());
                            // 20/12/2013. Consulto (seteo) el tipo de impresion segun la agencia y la empresa de facturacion
                            tipoImpresionGuiaID  = Convert.IsDBNull(dsFacturaImpresion.Datos[0].TipoImpresionGuiaID) ? 0 : dsFacturaImpresion.Datos[0].TipoImpresionGuiaID;
                            Session["DatosGuia"] = dsFacturaImpresion;
                        }
                        drFac = null;
                        /*************************************************/
                    }
                    else
                    {
                        ((ErrorWeb)this.phErrores.Controls[0]).setMensaje("No se encuentra la guía / factura ingresada.");
                        return;
                    }
                }

                // Se comenta la siguiente linea para el desarrollo de integracion de SisPack-Delfos. El tipo de impresion depende de la empresa y la agencia. Esto estaba al 20/12/2013
                //int tipoImpresionGuiaID = Convert.IsDBNull(agencia.TipoImpresionGuiaId) ? 0 : agencia.TipoImpresionGuiaId;

                // Si es Unidad de Logistica, imprimir el comprobante como Autoimpresor_EnBlanco
                if (oGuia.TipoGuia == "X")
                {
                    tipoImpresionGuiaID = (int)NegociosSisPackInterface.SisPack.TipoImpresionGuia.Autoimpresor_EnBlanco;
                }

                if (tipoImpresionGuiaID == 0)
                {
                    ((ErrorWeb)this.phErrores.Controls[0]).setMensaje("No se puede reimprimir la guía ingresada. El tipo de impresión no está definido.");
                    return;
                }
                if (tipoImpresionGuiaID == (int)NegociosSisPackInterface.SisPack.TipoImpresionGuia.PreImpresa)
                {
                    ((ErrorWeb)this.phErrores.Controls[0]).setMensaje("No se puede reimprimir una guía pre-impresa.");
                    return;
                }

                string implementacion  = System.Configuration.ConfigurationSettings.AppSettings["Implementacion"].ToString();
                string paginaImpresion = agencia.GetPaginaImpresion(tipoImpresionGuiaID, implementacion);

                if (paginaImpresion.Trim().Equals(""))
                {
                    ((ErrorWeb)this.phErrores.Controls[0]).setMensaje("No se puede reimprimir la guía ingresada. La página de impresión no está definida.");
                    return;
                }
                agencia = null;
                /*****************************/

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

                Page.RegisterStartupScript("scriptImpresion", scriptString);

                oGuia              = null;
                oFactura           = null;
                dsFacturaImpresion = null;
                ds         = null;
                dsFacturas = null;
            }
            catch (Exception ex)
            {
                ((ErrorWeb)this.phErrores.Controls[0]).setMensaje(ex.Message);
            }
        }
        private void ImprimirGuia(int GuiaID, NegociosSisPackInterface.SisPack.ClasificacionGuia ClasificacionGuia)
        {
            try
            {
                IGuia     oGuia      = GuiaFactory.GetGuia();
                IFactura  oFactura   = FacturaFactory.GetFactura();
                DsGuias   ds         = new DsGuias();
                DsFactura dsFacturas = null;
                DsGuiaFacturaImpresion dsFacturaImpresion;
                IAgencia agencia = null;
                oGuia.GuiaID = GuiaID;

                if (ClasificacionGuia == NegociosSisPackInterface.SisPack.ClasificacionGuia.Remito)
                {
                    ds = oGuia.GetGuiaOneDataSet();
                }
                else if (ClasificacionGuia == NegociosSisPackInterface.SisPack.ClasificacionGuia.Factura)
                {
                    oFactura.FacturaID = GuiaID;
                    dsFacturas         = oFactura.GetFacturaByFacturaID(GuiaID);
                }

                if (ds.Datos.Count > 0)
                {
                    DsGuias.DatosRow dr = (DsGuias.DatosRow)ds.Datos.Rows[0];

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

                    /* Traer los datos de la guía para la impresión. */
                    IAdministrarGuias oAdminGuia = AdministrarGuiasFactory.GetAdministrarGuias();
                    oAdminGuia.GuiaID  = GuiaID;
                    dsFacturaImpresion = oAdminGuia.GetDataSetImpresionByGuiaID();
                    oAdminGuia         = null;

                    Session["DatosGuia"] = dsFacturaImpresion;
                    /*************************************************/
                }
                else if (ds.Datos.Count == 0)
                {
                    if (dsFacturas.Datos.Count > 0)
                    {
                        DsFactura.DatosRow drFac = (DsFactura.DatosRow)dsFacturas.Datos.Rows[0];
                        //this.txtGuiaID.Text = drFac.GuiaID.ToString();

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

                        /* Traer los datos de la factura para la impresión. */
                        oFactura.FacturaID = drFac.FacturaID;

                        // Reviso si se trata de una factura de concepto de facturación o de una factura que cancela un remito pendiente
                        if (dsFacturas.Datos[0].ClasificacionFacturaID == (Int32)NegociosSisPackInterface.SisPack.ClasificacionFactura.ConceptoFacturacion)
                        {
                            // Se trata de una factura de concepto de facturación
                            Session["DatosGuia"] = ToDsGuiaFacturaConceptoImpresion(oFactura.GetFacturaConceptoImpresionByFacturaID());
                        }
                        else
                        {
                            // Se trata de una factura de un flete pago en destino, entrega o un remito de cta cte
                            dsFacturaImpresion   = ToDsGuiaFacturaImpresion(drFac.AgenciaID, oFactura.GetFacturaImpresionByFacturaID());
                            Session["DatosGuia"] = dsFacturaImpresion;
                        }
                        drFac = null;
                        /*************************************************/
                    }
                    else
                    {
                        return;
                    }
                }

                int tipoImpresionGuiaID = Convert.IsDBNull(agencia.TipoImpresionGuiaId) ? 0 : agencia.TipoImpresionGuiaId;

                if (tipoImpresionGuiaID == 0)
                {
                    return;
                }
                if (tipoImpresionGuiaID == (int)NegociosSisPackInterface.SisPack.TipoImpresionGuia.PreImpresa)
                {
                    return;
                }

                string implementacion  = System.Configuration.ConfigurationSettings.AppSettings["Implementacion"].ToString();
                string paginaImpresion = agencia.GetPaginaImpresion(tipoImpresionGuiaID, implementacion);

                if (paginaImpresion.Trim().Equals(""))
                {
                    return;
                }
                agencia = null;
                /*****************************/

                ImprimirGuiaBlanco();

                oGuia              = null;
                oFactura           = null;
                dsFacturaImpresion = null;
                ds         = null;
                dsFacturas = null;
            }
            catch (Exception ex)
            {
            }
        }
Example #5
0
        public String RendirHojaRutas()
        {
            try
            {
                Int32 auxAgenciaID;
                if (Session["AgenciaConectadaID"] != null)
                {
                    if (Int32.TryParse(Session["AgenciaConectadaID"].ToString(), out auxAgenciaID) == false)
                    {
                        auxAgenciaID = 0;
                    }
                }
                else
                {
                    auxAgenciaID = 0;
                }

                Int32 auxUnidadNegocioID;
                if (Session["UnidadNegocioID"] != null)
                {
                    if (Int32.TryParse(Session["UnidadNegocioID"].ToString(), out auxUnidadNegocioID) == false)
                    {
                        auxUnidadNegocioID = 0;
                    }
                }
                else
                {
                    auxUnidadNegocioID = 0;
                }

                Int32 auxUsuarioID;
                if (Session["IntUsuarioConectadoID"] != null)
                {
                    if (Int32.TryParse(Session["IntUsuarioConectadoID"].ToString(), out auxUsuarioID) == false)
                    {
                        auxUsuarioID = 0;
                    }
                }
                else
                {
                    auxUsuarioID = 0;
                }

                Int32 guiaID = IoC.GetObjectDominio <IRendicionHojaRutaDominio>().GuardarRendicionHojaRuta(auxAgenciaID, auxUnidadNegocioID, auxUsuarioID);

                IAdministrarGuias admGuia = AdministrarGuiasFactory.GetAdministrarGuias();
                admGuia.GuiaID = guiaID;
                DsGuiaFacturaImpresion dataSrc = admGuia.GetDataSetImpresionByGuiaID();
                Session["DatosGuia"] = dataSrc;

                IAgencia agOrigen = AgenciaFactory.GetAgencia();
                agOrigen.AgenciaID = auxAgenciaID;
                agOrigen.ConsultarBasico();

                return(agOrigen.GetPaginaImpresion(agOrigen.TipoImpresionGuiaId, System.Configuration.ConfigurationManager.AppSettings["Implementacion"].ToString()));
            }
            catch (Exception ex)
            {
                if (ex is Utiles.Excepciones.DatosInvalidosException)
                {
                    HttpContext.Current.Response.StatusCode = 400;
                    HttpContext.Current.Response.Write(ex.Message);
                    Server.ClearError();

                    return("");
                }
                else
                {
                    throw;
                }
            }
        }
        protected void btnConsultar_Click(object sender, EventArgs e)
        {
            IAdministrarGuias admGuiaO = AdministrarGuiasFactory.GetAdministrarGuias();


            try
            {
                if (txtRangoDesde.Text == "")
                {
                    throw new Exception("Falta ingresar rango");
                }

                if (txtRangoHasta.Text == "")
                {
                    throw new Exception("Falta ingresar rango");
                }
                if (ddlTipoGuia.SelectedValue == "")
                {
                    throw new Exception("Falta seleccionar tipo de guia");
                }


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

                //}
                IAgencia ag = AgenciaFactory.GetAgencia();
                ag.AgenciaID = usuario.AgenciaID;
                ag.Consultar();

                IGuia    oGuia    = GuiaFactory.GetGuia();
                IFactura oFactura = FacturaFactory.GetFactura();
                DsGuias  ds       = new DsGuias();

                if (ddlEmpresa.SelectedValue == "Cargas")
                {
                    string SucursalFinal = ag.SucursalDGI.Trim().Substring(1, 3);
                    nrosucrusal = 5 + SucursalFinal;
                    //5
                }
                else if (ddlEmpresa.SelectedValue == "Express")
                {
                    nrosucrusal = ag.SucursalDGI.Trim();
                    //4
                }
                else
                {
                    nrosucrusal = "";
                }

                int NroDesde = Convert.ToInt32(txtRangoDesde.Text);
                int NroHasta = Convert.ToInt32(txtRangoHasta.Text);

                string tipoguia = ddlTipoGuia.SelectedValue;

                ds = oGuia.GetGuiasByFecha(NroDesde, NroHasta, nrosucrusal, 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();
                        admGuiaO.GuiaID = Convert.ToInt32(guiaid);
                        try
                        {
                            dataImpresion = admGuiaO.GetDataSetImpresionByGuiaID();
                        }
                        catch (Exception ex)
                        {
                            throw new Exception(ex.Message);
                        }
                        origen  = dataImpresion.Datos.Rows[0][60].ToString();
                        destino = dataImpresion.Datos.Rows[0]["LocalidadDestinatario"].ToString();

                        admGuiaO.TipoGuia        = dataImpresion.Datos.Rows[0][1].ToString();
                        admGuiaO.NroSucursalGuia = dataImpresion.Datos.Rows[0][2].ToString();
                        admGuiaO.NroGuia         = Convert.ToInt32(dataImpresion.Datos.Rows[0][3].ToString());
                        admGuiaO.CantBultos      = Convert.ToInt32(dataImpresion.Datos.Rows[0][29].ToString());

                        NegociosSisPack.ImpresionCajon IC = new NegociosSisPack.ImpresionCajon();
                        try
                        {
                            Session["ImpresoraUsuario"].ToString();

                            //para el caso en el que quieran imprimir solamente un CB
                            //por ejemplo una guia que tenga 50 bultos.
                            //Si presionan el check solamente se imprime 1 etiqueta. FQuiroga 22/12/2016

                            if (chkCantidad.Checked == true)
                            {
                                admGuiaO.CantBultos = 1;
                            }

                            string cb = (admGuiaO.TipoGuia == "R" ? "9" : (admGuiaO.TipoGuia == "A" ? "3" : "4")) + admGuiaO.NroSucursalGuia + admGuiaO.NroGuia.ToString();
                            try
                            {
                                for (int i2 = 1; i2 <= admGuiaO.CantBultos; i2++)
                                {
                                    IC.Imprimir(admGuiaO.TipoGuia + " " + admGuiaO.NroSucursalGuia + admGuiaO.NroGuia.ToString().ToString(), i2 + "/" + admGuiaO.CantBultos.ToString("000"), cb + i2.ToString("000"), CINT("1", 1), Session["ImpresoraUsuario"].ToString(), origen, destino);
                                }
                            }
                            catch (Exception ex)
                            {
                                ((ErrorWeb)(this.phErrores.Controls[0])).setMensaje(TraducirTexto("El usuario no tiene configurada una impresora."));
                            }
                        }
                        catch (Exception ex)
                        {
                            ((ErrorWeb)(this.phErrores.Controls[0])).setMensaje(TraducirTexto("El usuario no tiene configurada una impresora."));
                        }
                        //descanso de codigos para que no salgan tan rapido y se trabe
                        Thread.Sleep(Utiles.Validaciones.obtieneEntero("500"));
                    }
                }
            }
            catch (Exception ex)
            {
                ((ErrorWeb)(this.phErrores.Controls[0])).setMensaje(TraducirTexto(ex.Message));
            }
            Limpiar();
        }
        protected void btnEmitir_Click(object sender, EventArgs e)
        {
            try
            {
                int cantidad = 0;
                if (Session["UnidadesAsig"] == null)
                {
                    ((ErrorWeb)(this.phErrores.Controls[0])).setMensaje("Debe agregar alguna unidad de logistica.");
                    return;
                }

                IGuiaUnidadLogistica guiaUnidad = GuiaUnidadLogisticaFactory.GetIGuiaUnidadLogistica();
                this.ObtenerNroGuia();
                ((IGuia)guiaUnidad).NumeroCAI       = this.numeroCAI;
                ((IGuia)guiaUnidad).TipoGuia        = this.tipoGuiaUnidadLogistica;
                ((IGuia)guiaUnidad).NroSucursalGuia = this.nroSucursalGuiaUnidadLogistica;
                ((IGuia)guiaUnidad).NroGuia         = this.nroGuiaUnidadLogistica;
                /**/
                ((IGuia)guiaUnidad).AgenciaOrigenID             = this.AgenciaConectadaID;
                ((IGuia)guiaUnidad).UnidadNegocioID             = this.UnidadNegocioID;
                ((IGuiaFactura)guiaUnidad).EmpresaFacturacionID = 1;
                ((IGuia)guiaUnidad).ClasificacionGuiaID         = NegociosSisPackInterface.SisPack.ClasificacionGuia.UnidadLogistica;
                if (GuiaOrigenDestinoUnidadLogistica1.AgenciaDestinoID.Value > 0)
                {
                    ((IGuia)guiaUnidad).AgenciaDestinoID = GuiaOrigenDestinoUnidadLogistica1.AgenciaDestinoID.Value;
                }
                else
                {
                    ((IGuia)guiaUnidad).PuntoRecepcionID = (-1) * GuiaOrigenDestinoUnidadLogistica1.AgenciaDestinoID.Value;
                }

                foreach (var guiaUL in (List <IGuiaUnidadLogisticaDetalle>)Session["UnidadesAsig"])
                {
                    cantidad = cantidad + guiaUL.Cantidad;
                    guiaUnidad.GuiasUnidadesLogisticas.AddGuiaUnidadLogisticaDetalle(guiaUL);
                }

                ((IGuiaFactura)guiaUnidad).CantidadBultosTotal = cantidad;

                guiaUnidad.TipoOperacionUnidadLogistica = NegociosSisPackInterface.SisPack.TipoOperacionUnidadLogistica.Ingreso;
                /**/
                if (guiaUnidad.EmitirGuiaUnidadLogistica(null, this.usuario, true))  // debe validar stock cuando emite la guia asociada
                {
                    //limpiarCarga();
                    //dtgUnidades.DataSource = null;
                    //dtgUnidades.DataBind();
                    Session["UnidadesAsig"] = null;
                    IAdministrarGuias admGuia = AdministrarGuiasFactory.GetAdministrarGuias();
                    admGuia.GuiaID = ((Guia)guiaUnidad).GuiaID;
                    DsGuiaFacturaImpresion dataSrc = admGuia.GetDataSetImpresionByGuiaID();
                    Session["DatosGuia"] = dataSrc;

                    IAgencia agOrigen = AgenciaFactory.GetAgencia();
                    agOrigen.AgenciaID = AgenciaConectadaID;
                    agOrigen.ConsultarBasico();
                    if (agOrigen.TipoImpresionGuiaId == 0)
                    {
                        ((ErrorWeb)this.phErrores.Controls[0]).setMensaje("No se puede imprimir la guía de unidad de logistica generada. El tipo de impresión no está definido.");
                        return;
                    }

                    // Voy a imprimir siempre como Autoimpresor_EnBlanco porque es un comprobante interno.
                    agOrigen.TipoImpresionGuiaId = (int)NegociosSisPackInterface.SisPack.TipoImpresionGuia.Autoimpresor_EnBlanco;

                    txtPaginaImpresion.Value = agOrigen.GetPaginaImpresion(agOrigen.TipoImpresionGuiaId, this.Implementacion);

                    txtGuiaUnidadID.Value = ((Guia)guiaUnidad).GuiaID.ToString();


                    //string pagina = agOrigen.GetPaginaImpresion(agOrigen.TipoImpresionGuiaId, this.Implementacion);

                    //string script = "<script language='javascript'>\n";
                    //script += "			window.showModalDialog('" + pagina +
                    //          "','Imprimiendo Guía de unidad logistica...','dialogHeight: 934px;dialogWidth: 762px;edge: Raised; center: No; Status:No; help: No; resizable: No;');";
                    //script += "		</script>\n";

                    //Page.RegisterStartupScript("scriptImprimirGuiaUnidad", script);

                    return;
                }
            }
            catch (Exception ex)
            {
                ((ErrorWeb)(this.phErrores.Controls[0])).setMensaje(TraducirTexto(ex.Message));
            }
        }
        protected void btnConsultar_Click(object sender, EventArgs e)
        {
            IAdministrarGuias admGuiaO = AdministrarGuiasFactory.GetAdministrarGuias();

            try
            {
                if (txtNroGuia.Text == "")
                {
                    throw new Exception("Falta ingresar Nro de Guia.");
                }
                //if (txtCantidad.Text == "")
                //{
                //    throw new Exception("Falta ingresar Cantidad de Impresiones");
                //}
                if (txtNroSucursal.Text == "")
                {
                    throw new Exception("Falta ingresar Nro de Sucursal");
                }
                if (ddlTipoGuia.SelectedValue == "")
                {
                    throw new Exception("Falta seleccionar tipo de guia");
                }

                //     cantidad = Convert.ToInt32(txtCantidad.Text);

                admGuiaO.NroGuia         = Convert.ToInt32(txtNroGuia.Text);
                admGuiaO.NroSucursalGuia = txtNroSucursal.Text;
                admGuiaO.TipoGuia        = ddlTipoGuia.SelectedValue;


                guia.NroGuia         = admGuiaO.NroGuia;
                guia.NroSucursalGuia = admGuiaO.NroSucursalGuia;
                guia.TipoGuia        = admGuiaO.TipoGuia;
                guia.ReImprimirCB();


                if (guia.GuiaID == 0 || guia.GuiaID == null)
                {
                    throw new Exception("Nro de Guia Inexistente");
                }
                else
                {
                    admGuiaO.GuiaID = guia.GuiaID;
                }
                try
                {
                    dataImpresion = admGuiaO.GetDataSetImpresionByGuiaID();
                }
                catch (Exception ex)
                {
                    throw new Exception(ex.Message);
                }
                origen  = dataImpresion.Datos.Rows[0][60].ToString();
                destino = dataImpresion.Datos.Rows[0]["LocalidadDestinatario"].ToString();


                NegociosSisPack.ImpresionCajon IC = new NegociosSisPack.ImpresionCajon();
                try
                {
                    Session["ImpresoraUsuario"].ToString();

                    string cb = (admGuiaO.TipoGuia == "R" ? "9" : (admGuiaO.TipoGuia == "A" ? "3" : "4")) + admGuiaO.NroSucursalGuia + admGuiaO.NroGuia.ToString();
                    try
                    {
                        for (int i = 1; i <= guia.CantidadBultosTotal; i++)
                        {
                            IC.Imprimir(admGuiaO.TipoGuia + " " + admGuiaO.NroSucursalGuia + admGuiaO.NroGuia.ToString().ToString(), i + "/" + guia.CantidadBultosTotal.ToString("000"), cb + i.ToString("000"), CINT("1", 1), Session["ImpresoraUsuario"].ToString(), origen, destino);
                        }
                    }
                    catch (Exception ex)
                    {
                        throw new Exception(ex.Message);
                    }
                }
                catch (Exception ex)
                {
                    ((ErrorWeb)(this.phErrores.Controls[0])).setMensaje(TraducirTexto("El usuario no tiene configurada una impresora."));
                }
            }
            catch (Exception ex)
            {
                ((ErrorWeb)(this.phErrores.Controls[0])).setMensaje(TraducirTexto(ex.Message));
            }
            Limpiar();
        }
        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);
                }
            }
        }