Exemple #1
0
        public void BinGrilla(Boolean ConfigurarGrid)
        {
            // Reviso si tengo que configurar el grid
            if (ConfigurarGrid == true)
            {
                // Tengo que configurarla.
                SisPackController.AdministrarGrillas.Configurar(this.dtgGuiasRendicion, "GuiaID", this.CantidadOpciones);
            }
            if (Session["dtgGuiasRendicionSession"] == null)          //si no tiene nada cargado en la session
            {
                IGuia guia = GuiaFactory.GetGuia();
                guia.AgenciaDestinoID = this.AgenciaConectadaID;
                ds = guia.GetGuiasPendAsignarGuiaRendicion();
            }
            else
            {
                ds = (DsGuias)Session ["dtgGuiasRendicionSession"];
                foreach (DataGridItem item in dtgGuiasRendicion.Items)
                {
                    DsGuias.DatosRow dr = (DsGuias.DatosRow) this.ds.Datos.Rows[item.DataSetIndex];

                    CheckBox chk = (CheckBox)item.FindControl("chkGuia");
                    dr.Asignado = chk.Checked;
                }
            }
            Session ["dtgGuiasRendicionSession"] = ds;
            this.dtgGuiasRendicion.DataSource    = ds;
            this.dtgGuiasRendicion.DataBind();
            if (this.dtgGuiasRendicion.Items.Count == 0)
            {
                this.butAceptar.Enabled = false;
            }
        }
        private void butAgregar_Click(object sender, System.EventArgs e)
        {
            try
            {
                BaseValidator bv;
                bv         = (BaseValidator)phGuiaValid.FindControl("guiaEntero");
                bv.Enabled = true;
                bv.Validate();
                if (!bv.IsValid)
                {
                    return;
                }
                DsGuias ds = new DsGuias();
                if ((DsGuias)Session["DsGuias"] != null)
                {
                    ds = (DsGuias)Session["DsGuias"];
                }
                string cadena = txtGuia.Text;
                if (cadena.Length == 10)
                {
                    string tipo = cadena.Substring(0, 1);
//					tipo = tipo == "3" ? "A" : "B";
                    tipo = NegociosSisPackInterface.SisPack.TipoGuia(tipo);
                    string       sucursal    = cadena.Substring(1, 4);
                    string       guia        = cadena.Substring(5, cadena.Length - 5);
                    IConsolidado consolidado = ConsolidadoFactory.GetConsolidado();
                    consolidado.DestinoID = Utiles.Validaciones.obtieneEntero(txtDestinoID.Text);
                    DsGuias dsNuevo = consolidado.IngresarGuiaCodigo(Utiles.Validaciones.obtieneEntero(txtTipoDestinoID.Text), AgenciaConectadaID, tipo, sucursal, Utiles.Validaciones.obtieneEntero(guia));
                    if (dsNuevo.Datos.Count == 1)
                    {
                        foreach (DsGuias.DatosRow drNuevo in dsNuevo.Datos)
                        {
                            DsGuias.DatosRow dr = ds.Datos.NewDatosRow();
                            dr.GuiaID          = drNuevo.GuiaID;
                            dr.TipoGuia        = drNuevo.TipoGuia;
                            dr.NroSucursalGuia = drNuevo.NroSucursalGuia;
                            dr.NroGuia         = drNuevo.NroGuia;
                            dr.ClienteDescrip  = drNuevo.ClienteDescrip;
                            dr.Destino         = drNuevo.Destino;
                            ds.Datos.Rows.Add(dr);
                        }
                    }
                    Session["DsGuias"] = ds;
                    BindGrid();
                    txtGuia.Text = "";
                }
                else
                {
                    Exception ex = new Exception("Debe ingresar el código de la guía");
                    throw ex;
                }
            }
            catch (Exception ex)
            {
                ((ErrorWeb)phErrores.Controls[0]).setMensaje(ex.Message);
            }
        }
        private void butBuscar_Click(object sender, System.EventArgs e)
        {
            try
            {
                DsGuias ds;
                if (this.radioTipo.Checked)
                {
                    ds = BuscarPorTipo();
                }
                else
                {
                    ds = BuscarPorCodigo();
                }

                if (ds != null)
                {
                    IGuia guia = GuiaFactory.GetGuia();
                    DsGuias.DatosRow[] drLista = (DsGuias.DatosRow[])ds.Datos.Select("UnidadNegocioID = " + this.UnidadNegocioID);
                    int total = drLista.Length;
                    if (total > 0)
                    {
                        DsGuias.DatosRow dr = drLista[0];
                        //Session["GuiaDevueltaID"] =dr.IsGuiaDevueltaIDNull()? 0 : dr.GuiaDevueltaID;//Variable de session para guardar el id de la guia original en las guías devueltas en una guía nueva
                        if (dr.AgenciaOrigenID != 0)
                        {
                            IAgencia agenciaOrigen = AgenciaFactory.GetAgencia();
                            agenciaOrigen.AgenciaID = dr.AgenciaOrigenID;
                            if (agenciaOrigen.Consultar())
                            {
                                this.txtAgenciaOrigenID.Text       = agenciaOrigen.AgenciaID.ToString();
                                this.txtAgenciaOrigenDescrip.Text  = agenciaOrigen.RazonSocial;
                                this.txtSucursalAgenciaOrigen.Text = agenciaOrigen.SucursalDGI;
                            }
                        }

                        this.txtTipoFactura.Text = dr.ClasificacionGuiaID.ToString();
                        this.txtGuiaID.Text      = dr.GuiaID.ToString();

                        this.butConfirmar.Enabled = true;

                        //Verificar estados para bloquear botones e impedir que lo ejecuten nuevamente
                        this.ChequearGuia();

                        this.BindGrilla();
                        if (this.butConfirmar.Enabled == false)
                        {
                            this.dtgGuiasAsociadas.Columns[0].Visible = false;
                            this.chkTodos.Visible = false;
                        }
                        else
                        {
                            this.dtgGuiasAsociadas.Columns[0].Visible = true;
                            this.chkTodos.Visible = true;
                        }
                    }
                    else
                    {
                        ((ErrorWeb)this.phErrores.Controls[0]).setMensaje("La guía ingresada no existe en el sistema");
                    }
                }
            }
            catch (Exception ex)
            {
                string mensaje = ex.Message;
                try
                {
                    mensaje = this.TraducirTexto(ex.Message);
                    if (mensaje == "" || mensaje == null)
                    {
                        mensaje = ex.Message;
                    }
                }
                catch (Exception)
                {
                    mensaje = ex.Message;
                }
                ((ErrorWeb)this.phErrores.Controls[0]).setMensaje(mensaje);
            }
        }
        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 butAgregar_Click(object sender, System.EventArgs e)
        {
            try
            {
                BaseValidator bv;
                bv         = (BaseValidator)phGuiaValid.FindControl("guiaEntero");
                bv.Enabled = true;
                bv.Validate();
                if (!bv.IsValid)
                {
                    return;
                }

                DsGuias ds = new DsGuias();

                if (Session["DsGuias"] != null)
                {
                    ds = (DsGuias)Session["DsGuias"];
                }

                string cadena = txtGuia.Text;
                if (cadena.Length >= 10)
                {
                    string tipo = "";
//					tipo = tipo == "3" ? "A" : "B";
                    tipo = NegociosSisPackInterface.SisPack.TipoGuia(cadena.Substring(0, 1));

                    string sucursal = cadena.Substring(1, 4);
                    string guia     = cadena.Substring(5);
                    int    guiaID   = SisPackController.LlenarCombos.GuiaID(tipo, sucursal, Utiles.Validaciones.obtieneEntero(guia));

                    // Verificamos que la guía tenga al menos como remitente o destinatario un cliente.
                    IGuia     guiaIngresada         = GuiaFactory.GetGuia();
                    string    remitenteDestinatario = guiaIngresada.ObtenerRemitenteDestinatario(guiaID);
                    string [] remDes = remitenteDestinatario.Split('-');


                    if (remDes[0].Equals("0") && remDes[1].Equals("0"))
                    {
                        Exception ex = new Exception("La guía ingresada no es válida.");
                        throw ex;
                    }

                    if (guiaID > 0)
                    {
                        // Verificamos que el dato no exista o no se haya ingresado.
                        DsGuias.DatosRow[] unaGuia = (DsGuias.DatosRow[])ds.Datos.Select("GuiaID = " + guiaID);
                        if (unaGuia.Length == 0)
                        {
                            DsGuias.DatosRow dr = ds.Datos.NewDatosRow();
                            dr.GuiaID          = guiaID;
                            dr.TipoGuia        = tipo;
                            dr.NroSucursalGuia = Convert.ToInt32(sucursal);
                            dr.NroGuia         = Convert.ToInt32(guia);
                            ds.Datos.AddDatosRow(dr);
                        }
                        else
                        {
                            this.txtGuia.Text = "";
//							Exception ex = new Exception("La guía ya ha sido ingresada.");
//							throw ex;
                        }

                        Session["DsGuias"] = ds;
                        BindGrid();
                        // Limpiamos número de guía para seguir ingresando.
                        this.txtGuia.Text = "";
                    }
                    else
                    {
                        Exception ex = new Exception("La guía ingresada no existe.");
                        throw ex;
                    }
                }
                else if (cadena.Length == 0)
                {
                    Exception ex = new Exception("Debe ingresar el código de la guía");
                    throw ex;
                }
            }
            catch (Exception ex)
            {
                ((ErrorWeb)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)
            {
            }
        }
        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();
        }
Exemple #8
0
        private void butBuscar_Click(object sender, System.EventArgs e)
        {
            try
            {
                DsGuias   ds;
                DsFactura dsFactura;
                ds = BuscarPorTipo();

                if (ds.Datos.Count == 0)
                {
                    dsFactura = BuscarFacturaPorTipo();
                    if (dsFactura.Datos.Count > 0)
                    {
                        DsFactura.DatosRow drFac = (DsFactura.DatosRow)dsFactura.Datos.Rows[0];
                        if (drFac.AgenciaID != 0)
                        {
                            IAgencia agenciaOrigen = AgenciaFactory.GetAgencia();
                            agenciaOrigen.AgenciaID = drFac.AgenciaID;
                            if (agenciaOrigen.Consultar())
                            {
                                this.txtAgenciaOrigenID.Text       = agenciaOrigen.AgenciaID.ToString();
                                this.txtAgenciaOrigenDescrip.Text  = agenciaOrigen.RazonSocial;
                                this.txtSucursalAgenciaOrigen.Text = agenciaOrigen.SucursalDGI;
                            }
                        }

                        this.txtFacturaID.Text = drFac.FacturaID.ToString();
                        this.txtGuiaID.Text    = drFac.GuiaID.ToString();
                        IGuiaFactura guiaFactura = GuiaFacturaFactory.GetGuiaFactura();
                        ((IGuia)guiaFactura).GuiaID = drFac.GuiaID;
                        DsGuiasFacturas dsGuiaFactura = guiaFactura.GetGuiaFacturaOneDataSet();
                        if (dsGuiaFactura.Datos.Count > 0)
                        {
                            DsGuiasFacturas.DatosRow drGuiaFactura = (DsGuiasFacturas.DatosRow)dsGuiaFactura.Datos.Rows[0];
                            this.txtCantidadBultos.Text   = drGuiaFactura.CantidadBultosTotal.ToString();
                            this.txtVolumenDeclarado.Text = drGuiaFactura.ValorDeclaradoTotal.ToString();
                        }
                    }
                    else
                    {
                        ((ErrorWeb)this.phErrores.Controls[0]).setMensaje("La guía ingresada no existe en el sistema");
                    }
                }
                else
                {
                    DsGuias.DatosRow[] drLista = (DsGuias.DatosRow[])ds.Datos.Select("UnidadNegocioID = " + this.UnidadNegocioID);
                    DsGuias.DatosRow   dr      = drLista[0];
                    if (dr.AgenciaOrigenID != 0)
                    {
                        IAgencia agenciaOrigen = AgenciaFactory.GetAgencia();
                        agenciaOrigen.AgenciaID = dr.AgenciaOrigenID;
                        if (agenciaOrigen.Consultar())
                        {
                            this.txtAgenciaOrigenID.Text       = agenciaOrigen.AgenciaID.ToString();
                            this.txtAgenciaOrigenDescrip.Text  = agenciaOrigen.RazonSocial;
                            this.txtSucursalAgenciaOrigen.Text = agenciaOrigen.SucursalDGI;
                        }
                    }
                    if (dr.IsAgenciaDestinoIDNull())
                    {
                        IPuntoRecepcion punto = PuntoRecepcionFactory.GetPuntoRecepcion();
                        punto.PuntoRecepcionID = dr.PuntoRecepcionID;
                        if (punto.Consultar())
                        {
                            this.lblAgenciaDestino.Text           = this.TraducirTexto("Etiquetas.PuntoRecepcion");
                            this.txtSucursalAgenciaDestino.Text   = punto.RazonSocial;
                            this.txtAgenciaDestinoDescrip.Visible = false;
                        }
                    }
                    else
                    {
                        IAgencia agenciaDestino = AgenciaFactory.GetAgencia();
                        agenciaDestino.AgenciaID    = dr.AgenciaDestinoID;
                        this.lblAgenciaDestino.Text = this.TraducirTexto("Etiquetas.AgenciaDestino");
                        if (agenciaDestino.Consultar())
                        {
                            this.txtAgenciaDestinoID.Text       = agenciaDestino.AgenciaID.ToString();
                            this.txtAgenciaDestinoDescrip.Text  = agenciaDestino.RazonSocial;
                            this.txtSucursalAgenciaDestino.Text = agenciaDestino.SucursalDGI;
                        }
                    }

                    this.txtGuiaID.Text           = dr.GuiaID.ToString();
                    this.txtCantidadBultos.Text   = dr.CantidadBultosTotal.ToString();
                    this.txtVolumenDeclarado.Text = dr.ValorDeclaradoTotal.ToString();
                }

                this.tblComprobante.Visible = true;

                this.butConfirmar.Enabled = true;

                this.BindGrilla();
                this.BindGrillaComprobantes();

                this.butConfirmar.Enabled = true;
            }
            catch (Exception ex)
            {
                ((ErrorWeb)this.phErrores.Controls[0]).setMensaje(ex.Message);
            }
        }
        private void butAgregar_Click(object sender, System.EventArgs e)
        {
            try
            {
                DsGuias ds;
                if (this.radioTipo.Checked)
                {
                    ds = BuscarPorTipo();
                }
                else
                {
                    ds = BuscarPorCodigo();
                }
                BaseValidator bv;

                bv         = (BaseValidator)this.phValidTipoGuia.FindControl("ReqFechaListado");
                bv.Enabled = true;
                bv.Validate();
                if (!bv.IsValid)
                {
                    return;
                }
                bv         = (BaseValidator)this.phValidTipoGuia.FindControl("ValidFechaListado");
                bv.Enabled = true;
                bv.Validate();
                if (!bv.IsValid)
                {
                    return;
                }

                if (ds != null)
                {
                    IGuia guia = GuiaFactory.GetGuia();
                    DsGuias.DatosRow[] drLista = (DsGuias.DatosRow[])ds.Datos.Select("UnidadNegocioID = " + this.UnidadNegocioID);
                    int total = drLista.Length;
                    if (total > 0)
                    {
                        DsGuias.DatosRow dr = drLista[0];
                        //Session["GuiaDevueltaID"] =dr.IsGuiaDevueltaIDNull()? 0 : dr.GuiaDevueltaID;//Variable de session para guardar el id de la guia original en las guías devueltas en una guía nueva

                        //this.txtTipoFactura.Text = dr.ClasificacionGuiaID.ToString();



                        if (dr.AgenciaDestinoID == Convert.ToInt32(this.txtAgenciaID.Text))
                        {
                            if (dr.GuiaID != 0)
                            {
                                if (this.txtListadoConformadasID.Text == "")
                                {
                                    IListadoConformadas listado = ListadoConformadasFactory.GetListadoConformadas();
                                    listado.AgenciaID = Convert.ToInt32(this.txtAgenciaID.Text);
                                    listado.Fecha     = this.txtFechaListado.Text == "" ? System.DateTime.Today : Convert.ToDateTime(this.txtFechaListado.Text);
                                    listado.Guardar();
                                    this.txtListadoConformadasID.Text = listado.ListadoConformadasID.ToString();
                                }
                                IListadoConformadasGuia listadoGuia = ListadoConformadasGuiaFactory.GetListadoConformadasGuia();
                                listadoGuia.ListadoConformadasID = Convert.ToInt32(this.txtListadoConformadasID.Text);
                                listadoGuia.GuiaID = dr.GuiaID;
                                listadoGuia.Guardar();
                                IGuia oGuia = GuiaFactory.GetGuia();
                                oGuia.GuiaID = dr.GuiaID;
                                DateTime fechaConf = this.txtFechaConf.Text == "" ? Convert.ToDateTime(this.txtFechaListado.Text):Convert.ToDateTime(this.txtFechaConf.Text);
                                oGuia.Entregada("", this.AgenciaConectadaID, this.usuario, fechaConf);                                       //VER FECHA DE CONFORMACION

                                this.BindGrilla();
                            }
                        }
                        else
                        {
                            ((ErrorWeb)this.phErrores.Controls[0]).setMensaje("La agencia destino de la guia no corresponde con la agencia no automatizada elegida");
                        }
                    }
                    else
                    {
                        if (this.txtListadoConformadasID.Text == "")
                        {
                            IListadoConformadas listado = ListadoConformadasFactory.GetListadoConformadas();
                            listado.AgenciaID = Convert.ToInt32(this.txtAgenciaID.Text);
                            listado.Fecha     = this.txtFechaListado.Text == "" ? System.DateTime.Today : Convert.ToDateTime(this.txtFechaListado.Text);
                            listado.Guardar();
                            this.txtListadoConformadasID.Text = listado.ListadoConformadasID.ToString();
                        }
                        string fechaConf = this.txtFechaConf.Text == ""?this.txtFechaListado.Text : this.txtFechaConf.Text;

                        string pagRegreso = "ListadoConformadas.aspx?ListadoConformadasID=" + this.txtListadoConformadasID.Text;
                        //Response.Redirect("IBusqSupervisorModal.aspx?CotizacionID=" + cotizacion.CotizacionClienteID);
                        Page.RegisterStartupScript("IngresoGuia", GenerarJavaScripts.AbrirVentanaModalConRegreso("IIngresoGuiaListadoConf.aspx?ListadoConformadasID=" + this.txtListadoConformadasID.Text + "&TipoGuia=" + this.ddlTipoGuia.SelectedValue + "&NroSucursal=" + this.txtNroSucursal.Text + "&NroGuia=" + this.txtNroGuia.Text + "&AgenciaDestinoID=" + this.txtAgenciaID.Text + "&FechaConf=" + fechaConf, 650, 400, true, pagRegreso));
                    }
                    //this.ddlTipoGuia.SelectedValue="1";
                    this.txtNroSucursal.Text = "";
                    this.txtNroGuia.Text     = "";
                    this.txtGuiaID.Text      = "";
                    this.txtCodigoBarra.Text = "";
                }
            }
            catch (Exception ex)
            {
                string mensaje = ex.Message;
                try
                {
                    mensaje = this.TraducirTexto(ex.Message);
                    if (mensaje == "" || mensaje == null)
                    {
                        mensaje = ex.Message;
                    }
                }
                catch (Exception)
                {
                    mensaje = ex.Message;
                }
                ((ErrorWeb)this.phErrores.Controls[0]).setMensaje(mensaje);
            }
        }
Exemple #10
0
        private void butBuscar_Click(object sender, System.EventArgs e)
        {
            try
            {
                this.LimpiarCampos();
                DsGuias ds;
                if (this.radioTipo.Checked)
                {
                    ds = BuscarPorTipo();
                }
                else
                {
                    ds = BuscarPorCodigo();
                }

                if (ds != null)
                {
                    IGuia guia = GuiaFactory.GetGuia();
                    DsGuias.DatosRow[] drLista = (DsGuias.DatosRow[])ds.Datos.Select("UnidadNegocioID = " + this.UnidadNegocioID);
                    int total = drLista.Length;

                    if (total > 0)
                    {
                        DsGuias.DatosRow dr = drLista[0];

                        if (dr.AgenciaOrigenID != 0)
                        {
                            IAgencia agenciaOrigen = AgenciaFactory.GetAgencia();
                            agenciaOrigen.AgenciaID = dr.AgenciaOrigenID;
                            if (agenciaOrigen.Consultar())
                            {
                                this.txtSucursalAgenciaOrigen.Text = agenciaOrigen.RazonSocial;
                            }
                        }
                        if (!dr.IsAgenciaDestinoIDNull())
                        {
                            if (dr.AgenciaDestinoID != 0)
                            {
                                IAgencia agenciaDestino = AgenciaFactory.GetAgencia();
                                agenciaDestino.AgenciaID = dr.AgenciaDestinoID;
                                if (agenciaDestino.Consultar())
                                {
                                    this.txtSucursalAgenciaDestino.Text = agenciaDestino.RazonSocial;
                                }
                            }
                        }
                        else if (!dr.IsPuntoRecepcionIDNull())
                        {
                            if (dr.PuntoRecepcionID != 0)
                            {
                                IPuntoRecepcion puntoRecepcion = PuntoRecepcionFactory.GetPuntoRecepcion();
                                puntoRecepcion.PuntoRecepcionID = dr.PuntoRecepcionID;
                                if (puntoRecepcion.Consultar())
                                {
                                    IAgencia agenciaReferenciaRD = AgenciaFactory.GetAgencia();
                                    agenciaReferenciaRD.AgenciaID = puntoRecepcion.AgenciaReferenciaRedespacho;
                                    if (agenciaReferenciaRD.Consultar())
                                    {
                                        this.txtSucursalAgenciaDestino.Text = agenciaReferenciaRD.RazonSocial;
                                    }
                                }
                            }
                        }

                        IGuiaFactura guiaFactura = GuiaFacturaFactory.GetGuiaFactura();
                        ((IGuia)guiaFactura).GuiaID = dr.GuiaID;
                        this.txtGuiaID.Text         = dr.GuiaID.ToString();
                        //recupero los datos de las guias
                        DsGuiaFactura            dsGuiaFactura = guiaFactura.GetGuiaFacturaDataSetByGuiaID();
                        DsGuiaFactura.DatosRow[] row           = (DsGuiaFactura.DatosRow[])dsGuiaFactura.Datos.Select("GuiaID=" + dr.GuiaID);

                        if (row.Length > 0)
                        {
                            this.txtCantidadBultos.Text     = row[0].IsCantidadBultosTotalNull()? "": row[0].CantidadBultosTotal.ToString();
                            this.txtVolumenDeclarado.Text   = row[0].IsValorDeclaradoTotalNull()? "" : row[0].ValorDeclaradoTotal.ToString();
                            this.txtGuiaID.Text             = row[0].GuiaID.ToString();
                            this.txtObservaciones.Text      = row[0].IsObservacionesNull() ? "" : row[0].Observaciones.Replace("<b>", "").Replace("</b>", "");
                            this.txtTipoFacturaDescrip.Text = row[0].IsClasificacionGuiaDescripNull() ? "" : row[0].ClasificacionGuiaDescrip;
                            this.txtFecha.Text    = row[0].IsFechaEmisionNull() ? "" : row[0].FechaEmision.ToString("dd/MM/yyyy");
                            this.txtFecha.Enabled = false;
                            butConfirmar.Enabled  = true;
                        }
                        this.butConfirmar.Enabled  = true;
                        this.rbtExtraviada.Enabled = true;
                        this.rbtDecomisada.Enabled = true;
                        this.rbtEnArchivo.Enabled  = true;
                        this.rbtAnuladaWeb.Enabled = true;
                        rbtObservacion.Enabled     = true;
                    }
                    else
                    {
                        ((ErrorWeb)this.phErrores.Controls[0]).setMensaje("La guía no existe.");
                        return;
                    }
                }
            }
            catch (Exception ex)
            {
                string mensaje = ex.Message;
                try
                {
                    mensaje = this.TraducirTexto(ex.Message);
                    if (mensaje == "" || mensaje == null)
                    {
                        mensaje = ex.Message;
                    }
                }
                catch (Exception)
                {
                    mensaje = ex.Message;
                }
                ((ErrorWeb)this.phErrores.Controls[0]).setMensaje(mensaje);
            }
        }
        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));
            }
        }