/// <summary>
        /// Procedimiento para cargar las listas
        /// </summary>
        private void LlenarListas()
        {
//			// Obtengo desde que fecha hay que cargar los combos peridos
//			IReporteComisiones reporteComisiones = ReporteComisionesFactory.GetReporteComisiones();
//			DateTime DesdeFecha = reporteComisiones.ObtenerFechaInicialLiquidacion();
//			// Cargo los combos periodos
//			DateTime fechaMaximaAProcesar = DateTime.Now;
//			fechaMaximaAProcesar = fechaMaximaAProcesar.AddMonths(1);
//			while (DesdeFecha < fechaMaximaAProcesar)
//			{
//				ListItem item = new ListItem(Fechas.ObtenerNombreMes(DesdeFecha) + " (" + DesdeFecha.Year + ")", DesdeFecha.ToString());
//				ddlPeriodoDesde.Items.Add(item);
//				ddlPeriodoHasta.Items.Add(item);
//				DesdeFecha = DesdeFecha.AddMonths(1);
//			}
//			// Selecciono el último periodo en los combos de periodos
//			ddlPeriodoDesde.SelectedValue = ddlPeriodoDesde.Items[ddlPeriodoDesde.Items.Count - 1].Value;
//			ddlPeriodoHasta.SelectedValue = ddlPeriodoHasta.Items[ddlPeriodoHasta.Items.Count - 1].Value;
            // Cargo las agencias
            IAgencia agencias = AgenciaFactory.GetAgencia();

            lstAgencia.DataSource     = agencias.GetAgenciasDataSet().Datos.Select("", "RazonSocial");
            lstAgencia.DataValueField = "AgenciaId";
            lstAgencia.DataTextField  = "RazonSocial";
            lstAgencia.DataBind();
        }
        /// <summary>
        /// Procedimiento para cargar las listas
        /// </summary>
        private void LlenarListas()
        {
            // Cargo las agencias
            IAgencia agencias = AgenciaFactory.GetAgencia();

            lstAgencia.DataSource     = agencias.GetAgenciasDataSet().Datos.Select("", "RazonSocial");
            lstAgencia.DataValueField = "AgenciaId";
            lstAgencia.DataTextField  = "RazonSocial";
            lstAgencia.DataBind();
            //LlenarCombos.AgenciaOrigenFlete(lstAgencia, UnidadNegocioID);
            // Cargo las unidades de ventas
            LlenarCombos.UnidadesVenta(lstUnidadVenta);
        }
Exemplo n.º 3
0
        /// <summary>
        /// Procedimiento para cargar las listas
        /// </summary>
        private void LlenarListas()
        {
            // Cargo las agencias
            IAgencia agencias = AgenciaFactory.GetAgencia();

            lstAgencia.DataSource     = agencias.GetAgenciasDataSet().Datos.Select("", "RazonSocial");
            lstAgencia.DataValueField = "AgenciaId";
            lstAgencia.DataTextField  = "RazonSocial";
            lstAgencia.DataBind();
            // Cargo los vendedores
            IVendedor vendedores = VendedorFactory.GetVendedor();

            lstVendedor.DataSource     = vendedores.GetVendedoresDataSet();
            lstVendedor.DataValueField = "VendedorID";
            lstVendedor.DataTextField  = "Nombre";
            lstVendedor.DataBind();
            // Cargo las unidades de ventas
            LlenarCombos.UnidadesVenta(lstUnidadVenta);
            LlenarCombos.ConceptoFacturacion(lstConceptos, this.UnidadNegocioID);
        }
        /// <summary>
        /// Procedimiento para cargar las listas
        /// </summary>
        private void LlenarListas()
        {
            // Cargo las unidades de venta
            LlenarCombos.UnidadesVenta(lstUnidadVenta);
            // Cargo las agencias
            IAgencia agencias = AgenciaFactory.GetAgencia();

            lstAgencias.DataSource     = agencias.GetAgenciasDataSet().Datos.Select("", "RazonSocial");
            lstAgencias.DataValueField = "AgenciaId";
            lstAgencias.DataTextField  = "RazonSocial";
            lstAgencias.DataBind();
            // Cargo los vendedores
            IVendedor    vendedores = VendedorFactory.GetVendedor();
            DsVendedores ds         = vendedores.GetVendedoresDataSet();

            foreach (DsVendedores.DatosRow dr in ds.Datos.Select("", "nombre, apellido"))
            {
                ListItem item = new ListItem(dr.Nombre + " " + dr.Apellido, dr.VendedorID.ToString());
                lstVendedores.Items.Add(item);
            }
        }
        private void BindGridAgenciasCL()
        {
            SisPackController.AdministrarGrillas.Configurar(this.dtgAgencias, "AgenciaID", this.CantidadOpciones);
            try
            {
                IAgencia   agencia = AgenciaFactory.GetAgencia();
                DsAgencias ds      = null;

                ds = agencia.GetAgenciasDataSet();

                string sucursal = this.txtSucursal.Text;
                string razon    = this.txtRazonSocial.Text;
                string filtro   = "SucursalDGI LIKE '" + sucursal + "%' AND RazonSocial LIKE '" + razon + "%'" + "AND EsReceptora = 1";

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

                dtgAgencias.DataSource = drLista;
                dtgAgencias.DataBind();

                if (Session["dsAgenciasCL"] != null)
                {
                    DsAgencias dsAgencias = (DsAgencias)Session["dsAgenciasCL"];
                    foreach (DataGridItem item in this.dtgAgencias.Items)
                    {
                        if (dsAgencias.Datos.Select("AgenciaID = " + Convert.ToInt32(item.Cells[0].Text.Trim())).Length > 0)
                        {
                            ((CheckBox)this.dtgAgencias.Items[item.ItemIndex].Cells[3].FindControl("ckSeleccionarA")).Checked = true;
                        }
                    }
                    dsAgencias = null;
                }

                ds      = null;
                agencia = null;
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        private void CargarAgencias()
        {
            IAgencia   agencia     = AgenciaFactory.GetAgencia();
            DsAgencias dsAgencias  = agencia.GetAgenciasDataSet();
            string     sucursalDGI = this.txtNroSucursal.Text;

            DsAgencias.DatosRow[] dr = (DsAgencias.DatosRow[])dsAgencias.Datos.Select("SucursalDGI = '" + sucursalDGI + "'");


            DsAgencias.DatosRow drAgencia = dr[0];

            this.txtAgenciaOrigenID.Text       = drAgencia.AgenciaID.ToString();
            this.txtSucursalAgenciaOrigen.Text = drAgencia.SucursalDGI;
            this.txtAgenciaOrigenDescrip.Text  = drAgencia.RazonSocial.ToString();

            this.txtFecha.Text = this.txtFechaConf.Text;                    //System.DateTime.Today.ToString("dd/MM/yyyy");

            agencia.AgenciaID = Convert.ToInt32(this.txtAgenciaDestinoID.Text);
            agencia.ConsultarBasico();
            this.txtSucursalAgenciaDestino.Text = agencia.SucursalDGI;
            this.txtAgenciaDestinoDescrip.Text  = agencia.RazonSocial;
        }
        private void hgAgencias_DeleteCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
        {
            IAgenciaParada agenciaParada = AgenciaParadaFactory.GetAgenciaParada();
            string         codigoAgencia = ((Label)e.Item.FindControl("lblCodigoAgencia")).Text;
            string         codigoParada  = ((Label)e.Item.FindControl("lblCodigoParada")).Text;

            IAgencia   agencia    = AgenciaFactory.GetAgencia();
            DsAgencias dsAgencias = agencia.GetAgenciasDataSet();

            DsAgencias.DatosRow[] dr = (DsAgencias.DatosRow[])dsAgencias.Datos.Select("SucursalDGI like '" + codigoAgencia + "'");
            agenciaParada.AgenciaID    = dr[0].AgenciaID;
            agenciaParada.ParadaCodigo = codigoParada;

            try
            {
                agenciaParada.Eliminar();
                Response.Redirect("AgenciaParada.aspx");
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        private void Buscar()
        {
            int total = 0;

            try
            {
                if (parametro != "3")               //si no se un punto de recepción
                {
                    #region Agencia
                    IAgencia   agencia = AgenciaFactory.GetAgencia();
                    DsAgencias ds      = agencia.GetAgenciasDataSet();

                    string filtro = "SucursalDGI LIKE '" + this.sucursal + "%' AND RazonSocial LIKE '" + this.razonSocial + "%'";
                    //Agregar que si no le paso una agencia actual, no la tenga que buscar.
                    if (this.filtroEspecial == NegociosSisPackInterface.SisPack.TipoAgencia.Cabecera.ToString())
                    {
                        if (this.agenciaActual != null && this.agenciaActual.Length > 0)
                        {
                            filtro += " AND EsCabecera = true AND AgenciaID <> " + this.agenciaActual;
                        }
                        else
                        {
                            filtro += " AND EsCabecera = true";
                        }
                    }
                    else if (this.filtroEspecial == NegociosSisPackInterface.SisPack.TipoAgencia.Madre.ToString())
                    {
                        filtro += " AND (AgenciaMadre IS NULL OR AgenciaMadre <> " + this.agenciaActual + " ) AND AgenciaID <> " + this.agenciaActual;
                    }

                    DsAgencias.DatosRow[] drLista = (DsAgencias.DatosRow[])ds.Datos.Select(filtro);
                    total = drLista.Length;

                    if (total > 0)
                    {
                        if (total == 1)
                        {
                            DsAgencias.DatosRow dr = drLista[0];
                            this.txtAgenciaID.Text   = dr.AgenciaID.ToString();
                            this.txtSucursal.Text    = dr.SucursalDGI;
                            this.txtRazonSocial.Text = dr.RazonSocial;
                            this.txtErrorMsg.Text    = "";
                            this.txtOpen.Text        = "";
                        }
                        else
                        {
                            this.txtSucursal.Text      = this.sucursal;
                            this.txtRazonSocial.Text   = this.razonSocial;
                            this.txtOpen.Text          = "S";
                            this.txtFiltro.Text        = this.filtroEspecial;
                            this.txtAgenciaActual.Text = this.agenciaActual;
                        }
                        this.txtParametro.Text = this.parametro;
                    }
                    else
                    {
                        this.txtAgenciaID.Text = "";
                        this.txtErrorMsg.Text  = "No se encontraron datos.";
                        this.txtOpen.Text      = "";
                    }
                    #endregion
                }
                else
                {
                    #region PuntoRecepcion
                    IPuntoRecepcion   puntoRecepcion = PuntoRecepcionFactory.GetPuntoRecepcion();
                    DsPuntosRecepcion ds             = null;
                    ds = puntoRecepcion.GetPuntosRecepcionDataSet();

                    string sucursal       = this.txtSucursal.Text;
                    string razon          = this.txtRazonSocial.Text;
                    string filtroEspecial = this.txtFiltro.Text;
                    string agenciaActual  = this.txtAgenciaActual.Text;
                    string filtro         = "Codigo LIKE '" + sucursal + "%' AND RazonSocial LIKE '" + razon + "%'";
                    DsPuntosRecepcion.DatosRow[] drPuntoRecepcion = (DsPuntosRecepcion.DatosRow[])ds.Datos.Select(filtro);
                    total = drPuntoRecepcion.Length;
                    if (total > 0)
                    {
                        if (total == 1)
                        {
                            this.txtAgenciaID.Text   = drPuntoRecepcion[0].PuntoRecepcionID.ToString();
                            this.txtSucursal.Text    = drPuntoRecepcion[0].Codigo;
                            this.txtRazonSocial.Text = drPuntoRecepcion[0].RazonSocial;
                            this.txtErrorMsg.Text    = "";
                            this.txtOpen.Text        = "";
                        }
                        else
                        {
                            this.txtSucursal.Text      = this.sucursal;
                            this.txtRazonSocial.Text   = this.razonSocial;
                            this.txtOpen.Text          = "S";
                            this.txtFiltro.Text        = this.filtroEspecial;
                            this.txtAgenciaActual.Text = this.agenciaActual;
                        }
                        this.txtParametro.Text = this.parametro;
                    }
                    else
                    {
                        this.txtAgenciaID.Text = "";
                        this.txtErrorMsg.Text  = "No se encontraron datos.";
                        this.txtOpen.Text      = "";
                    }
                    #endregion
                }
            }
            catch (Exception ex)
            {
                this.txtErrorMsg.Text = "Error al consultar datos de agencias: " + ex.Message;
            }
        }
Exemplo n.º 9
0
        protected void GuardarConRemito()
        {
            string lista = string.Empty;

            usuario = (IUsuarios)Session["usuario"];

            IAgencia   agencia    = AgenciaFactory.GetAgencia();
            DsAgencias dsAgencias = agencia.GetAgenciasDataSet();

            string[]  nroGuias = Session["ListaGuias"].ToString().Split(',');
            bool      ok       = true;
            Hashtable hGuias   = new Hashtable(); // Guías que no se pueden recibir, porque ya fueron recibidas
            Hashtable hGuiasNR = new Hashtable();
            // Guías que no están en condiciones de ser recibidas porque no existen en el sistema.

            string mensaje                = "";
            string mensaje2               = "";
            string nroguiaAnt             = "";
            int    loteant                = 0;
            DsGuiaServicioConfirmacion ds = (DsGuiaServicioConfirmacion)Session["GuiasSinConfirmar"];
            int cant = nroGuias.Length;// Utiles.Validaciones.obtieneEntero(this.txtGuiaIndex.Text);
            int nroGuia;
            DsImpresionConfirmacionServicio dsImpresion = new DsImpresionConfirmacionServicio();

            for (int i = 0; i < cant; i++)
            {
                // ANTES DE RECIBIR CADA GUÍA HAY QUE REALIZAR LOS CONTROLES CORRESPONDIENTES
                // E IR GUARDANDO LAS GUÍAS QUE FALLAN, PARA LUEGO VISUALIZAR UNA LISTA DE ESAS GUÍAS

                if (int.TryParse(nroGuias[i], out nroGuia))
                {
                    IGuia oGuia = GuiaFactory.GetGuia();
                    oGuia.GuiaID = nroGuia;
                    oGuia.Consultar();
                    // Lógica para recibir guías
                    string tGuia = "";
                    tGuia = oGuia.TipoGuia;
                    string nroSucursal = oGuia.NroSucursalGuia;
                    string nGuia       = oGuia.NroGuia.ToString();
                    string nroRemito   = string.Empty;
                    string numero_guia = string.Empty;
                    oGuia.UsuarioID = usuario.UsuarioID;
                    oGuia.GuiaConformadaDesdeModuloRecepcionConformadas = true;
                    lista += oGuia.GuiaID + ",";
                    ICaja caja = CajaFactory.GetCajaFactory();
                    caja.CajaID = cajaID;

                    // si la guía existe en el sistema
                    if (oGuia.GuiaID > 0)
                    {
                        foreach (DsGuiaServicioConfirmacion.DatosRow dr in ds.Tables[0].Rows)
                        {
                            if (oGuia.GuiaID == dr.GuiaID && dr.Seleccionado)
                            {
                                nroRemito   = dr.NroRemito;
                                numero_guia = dr.NroGuia;
                            }
                        }
                        // Asocio la guia con el lote.
                        lote = caja.AgregarGuia(oGuia, usuario, this.AgenciaConectadaID, this.cantGuias, nroRemito);
                        if (lote == 0) // Si es igual a cero es porque la guía ya se almacenó.
                        {
                            // La guia ya se encuentra almacenada. La agrego al hashtable de guias ya almacenadas
                            string guia = nroSucursal + "-" + nGuia + "-" + tGuia;
                            if (hGuias.ContainsKey(oGuia.GuiaID) == false)
                            {
                                hGuias.Add(oGuia.GuiaID, guia);
                            }
                        }
                        else
                        {
                            if (nroRemito != string.Empty)
                            {
                                dsImpresion.Datos.AddDatosRow(numero_guia, nroRemito);
                            }
                        }
                        // Comparo para ir guardando los cambios de lote, para al finalizar mostrar un mensaje con la posicion y lote de la guia.
                        if (loteant != lote && lote != 0 && loteant != 0)
                        {
                            // Se muestran mensaje con el siguiente formato: "Lote 1. Posicion: 100. Guia: 9414100020"
                            mensaje = "Lote :  " + loteant + " .  Posicion :  " + cantGuias.ToString() + " . Guia :  " +
                                      nroguiaAnt;
                            mensaje2 = "Lote :  " + lote + " .  Posicion :  001 . Guia :  " + nroGuia;
                        }

                        if (lote != 0)
                        {
                            loteant = lote;
                        }
                        else
                        {
                            if (loteant != 0)
                            {
                                lote = loteant;
                            }
                        }
                        nroguiaAnt = nroGuia.ToString();
                    }
                    else // La guia no existe en el sistema
                    {
                        //La agrego al hashtable de guias que no existen en el sistema.
                        string guia = nroSucursal + "-" + nGuia + "-" + tGuia;
                        hGuiasNR.Add(guia, guia);
                    }
                }
            } // fin for
            Session["GuiaConfirmacion"] = dsImpresion;
            Session["GuiasNR"]          = hGuiasNR;
            Session["Guias"]            = hGuias;

            // Si todo ocurrió bien y además no hubo cambio de lote muestro el mensaje simple
            if (ok && lote != 0 && mensaje == "")
            {
                Session["GuiasDefectuosas"] = null;
                // LLAMO A LA PAGINA QUE TIENE LA LOGICA PARA LA IMPRESION
                string scriptString = "<script language='javascript'>\n";
                scriptString += "alert('Guias Almacenadas en Lote: " + lote + "'); \n";
                scriptString += "window.showModalDialog('ImprimirConfirmaciones.aspx','Imprimiendo Confirmacion...','dialogHeight: 934px;dialogWidth: 762px;edge: Raised; center: No; Status:No; help: No; resizable: No;');";
                scriptString += "window.location.href = 'RecepcionConformadas.aspx?d=0&cajaID=" + cajaID + "';\n";
                scriptString += "</script>\n";
                Page.RegisterStartupScript("scriptOpen", scriptString);
                //Page.RegisterStartupScript("muestraMensaje",
                //                           SisPackController.GenerarJavaScripts.MostrarMensaje(
                //                               "Guias Almacenadas en Lote: " + lote,
                //                               "RecepcionEmitidas.aspx?cajaID=" + cajaID));
            }
            // Si todo ocurrió bien pero hubo cambio de lote muestro el mensaje compuesto por mensaje y mensaje2
            else if (mensaje != "")
            {
                Session["GuiasDefectuosas"] = null;
                // LLAMO A LA PAGINA QUE TIENE LA LOGICA PARA LA IMPRESION
                string scriptString = "<script language='javascript'>\n";
                scriptString += "alert('" + mensaje + "\\n" + mensaje2 + "'); \n";
                scriptString += "window.showModalDialog('ImprimirConfirmaciones.aspx','Imprimiendo Confirmacion...','dialogHeight: 934px;dialogWidth: 762px;edge: Raised; center: No; Status:No; help: No; resizable: No;');";
                scriptString += "window.location.href = 'RecepcionConformadas.aspx?d=0&cajaID=" + cajaID + "';\n";
                scriptString += "</script>\n";
                Page.RegisterStartupScript("scriptOpen", scriptString);
                //Page.RegisterStartupScript("muestraMensaje",
                //                           SisPackController.GenerarJavaScripts.MostrarMensaje(
                //                               mensaje + "\\n" + mensaje2, "RecepcionEmitidas.aspx?cajaID=" + cajaID));
            }
            // Si no se almaceno ninguna guia no muestro mensaje. Redirecciono al load con los errores.
            else
            {
                this.txtGuiasDefectuosas.Text = "1";
                Session["GuiasDefectuosas"]   = hGuias;
                Response.Redirect("RecepcionConformadas.aspx?d=0&cajaID=" + cajaID);
            }
        }
Exemplo n.º 10
0
        private void butConfirmar_Click(object sender, System.EventArgs e)
        {
            string lista = string.Empty;

            usuario = (IUsuarios)Session["usuario"];

            IAgencia   agencia    = AgenciaFactory.GetAgencia();
            DsAgencias dsAgencias = agencia.GetAgenciasDataSet();

            bool      ok       = true;
            Hashtable hGuias   = new Hashtable(); // Guías que no se pueden recibir, porque ya fueron recibidas
            Hashtable hGuiasNR = new Hashtable(); // Guías que no están en condiciones de ser recibidas porque no existen en el sistema.

            string mensaje    = "";
            string mensaje2   = "";
            string nroguiaAnt = "";
            int    loteant    = 0;

            int cant = Utiles.Validaciones.obtieneEntero(this.txtGuiaIndex.Text);

            for (int i = 0; i < cant; i++)
            {
                // ANTES DE RECIBIR CADA GUÍA HAY QUE REALIZAR LOS CONTROLES CORRESPONDIENTES
                // E IR GUARDANDO LAS GUÍAS QUE FALLAN, PARA LUEGO VISUALIZAR UNA LISTA DE ESAS GUÍAS
                string txt = "txt" + i;
                string ddl = "ddl" + i.ToString();

                string nroGuia = Request.Form[txt].ToString();

                // Lógica para recibir guías
                string tGuia = "";
                tGuia = NegociosSisPackInterface.SisPack.TipoGuia(nroGuia.Substring(0, 1));
                string nroSucursal = nroGuia.Substring(1, 4);
                string nGuia       = nroGuia.Substring(5);

                IGuia oGuia = GuiaFactory.GetGuia();
                oGuia.NroGuia         = Utiles.Validaciones.obtieneEntero(nGuia);
                oGuia.NroSucursalGuia = nroSucursal;
                oGuia.TipoGuia        = tGuia;
                oGuia.ConsultarByNroGuia();
                oGuia.UnidadNegocioID = this.UnidadNegocioID;
                oGuia.UsuarioID       = usuario.UsuarioID;
                oGuia.GuiaConformadaDesdeModuloRecepcionConformadas = true;
                ICaja caja = CajaFactory.GetCajaFactory();
                caja.CajaID = cajaID;
                if (!lista.Contains(oGuia.GuiaID.ToString()))
                {
                    lista += oGuia.GuiaID + ",";
                }
            }

            /*Diego 22/03/2013 Guardar los valores para pasar a la pantalla de confirmacion */
            //IGuiaServicioConfirmacion guiaServicio = GuiaServicioConfirmacionFactory.GetGuiaServicioConfirmacion();
            //DsGuiaServicioConfirmacion ds = guiaServicio.GetGuiasSinConfirmacion(lista, 0);
            //0 = busca las guias conformadas
            //if (ds.Datos.Rows.Count > 0)
            //{
            //    Session["GuiasSinConfirmar"] = ds;
            //    Session["ListaGuias"] = lista;
            //    Response.Redirect("Recepcion_ConfirmacionGuias.aspx?d=0&cajaID=" + cajaID);
            //    ///*debo guardar los id para mostrar el pop up para ingresar */
            //    //Session["GuiasSinConfirmar"] = ds;
            //    //Session["ListaGuias"] = lista;
            //    //string script = "<script language='javascript'>\n";
            //    //script += "			window.showModalDialog('Recepcion_ConfirmacionGuias.aspx','Confirmacion','dialogHeight: 934px;dialogWidth: 762px;edge: Raised; center: No; Status:No; help: No; resizable: No;');\n";
            //    //script += "         GuardarServicios(); \n";
            //    //script += "		</script>\n";

            //    //Page.RegisterStartupScript("scriptImprimirGuiaUnidad", script);
            ////}
            //else
            //{

            /* No tiene guias para confirmar el servicio*/
            for (int i = 0; i < cant; i++)
            {
                // ANTES DE RECIBIR CADA GUÍA HAY QUE REALIZAR LOS CONTROLES CORRESPONDIENTES
                // E IR GUARDANDO LAS GUÍAS QUE FALLAN, PARA LUEGO VISUALIZAR UNA LISTA DE ESAS GUÍAS
                string txt = "txt" + i;
                string ddl = "ddl" + i.ToString();

                string nroGuia = Request.Form[txt].ToString();

                // Lógica para recibir guías
                string tGuia = "";
                tGuia = NegociosSisPackInterface.SisPack.TipoGuia(nroGuia.Substring(0, 1));
                string nroSucursal = nroGuia.Substring(1, 4);
                string nGuia       = nroGuia.Substring(5);

                IGuia oGuia = GuiaFactory.GetGuia();
                oGuia.NroGuia         = Utiles.Validaciones.obtieneEntero(nGuia);
                oGuia.NroSucursalGuia = nroSucursal;
                oGuia.TipoGuia        = tGuia;
                oGuia.ConsultarByNroGuia();
                oGuia.UnidadNegocioID = this.UnidadNegocioID;
                oGuia.UsuarioID       = usuario.UsuarioID;
                oGuia.GuiaConformadaDesdeModuloRecepcionConformadas = true;
                ICaja caja = CajaFactory.GetCajaFactory();
                caja.CajaID = cajaID;
                lista      += oGuia.GuiaID + ",";
                // si la guía existe en el sistema
                if (oGuia.GuiaID > 0)
                {
                    // Asocio la guia con el lote.
                    lote = caja.AgregarGuia(oGuia, usuario, this.AgenciaConectadaID, this.cantGuias, "");
                    if (lote == 0)     // Si es igual a cero es porque la guía ya se almacenó.
                    {
                        // La guia ya se encuentra almacenada. La agrego al hashtable de guias ya almacenadas
                        string guia = nroSucursal + "-" + nGuia + "-" + tGuia;
                        if (hGuias.ContainsKey(oGuia.GuiaID) == false)
                        {
                            hGuias.Add(oGuia.GuiaID, guia);
                        }
                    }
                    // Comparo para ir guardando los cambios de lote, para al finalizar mostrar un mensaje con la posicion y lote de la guia.
                    if (loteant != lote && lote != 0 && loteant != 0)
                    {
                        // Se muestran mensaje con el siguiente formato: "Lote 1. Posicion: 100. Guia: 9414100020"
                        mensaje  = "Lote :  " + loteant + " .  Posicion :  " + cantGuias.ToString() + " . Guia :  " + nroguiaAnt;
                        mensaje2 = "Lote :  " + lote + " .  Posicion :  001 . Guia :  " + nroGuia;
                    }

                    if (lote != 0)
                    {
                        loteant = lote;
                    }
                    else
                    {
                        if (loteant != 0)
                        {
                            lote = loteant;
                        }
                    }
                    nroguiaAnt = nroGuia;
                }
                else     // La guia no existe en el sistema
                {
                    //La agrego al hashtable de guias que no existen en el sistema.
                    string guia = nroSucursal + "-" + nGuia + "-" + tGuia;
                    hGuiasNR.Add(guia, guia);
                }
            }     // fin for

            Session["GuiasNR"] = hGuiasNR;
            Session["Guias"]   = hGuias;

            // Si todo ocurrió bien y además no hubo cambio de lote muestro el mensaje simple
            if (ok && lote != 0 && mensaje == "")
            {
                Session["GuiasDefectuosas"] = null;
                Page.RegisterStartupScript("muestraMensaje", SisPackController.GenerarJavaScripts.MostrarMensaje("Guias Almacenadas en Lote: " + lote, "RecepcionConformadas.aspx?cajaID=" + cajaID));
            }
            // Si todo ocurrió bien pero hubo cambio de lote muestro el mensaje compuesto por mensaje y mensaje2
            else if (mensaje != "")
            {
                Session["GuiasDefectuosas"] = null;
                Page.RegisterStartupScript("muestraMensaje", SisPackController.GenerarJavaScripts.MostrarMensaje(mensaje + "\\n" + mensaje2, "RecepcionConformadas.aspx?cajaID=" + cajaID));
            }
            // Si no se almaceno ninguna guia no muestro mensaje. Redirecciono al load con los errores.
            else
            {
                this.txtGuiasDefectuosas.Text = "1";
                Session["GuiasDefectuosas"]   = hGuias;
                Response.Redirect("RecepcionConformadas.aspx?d=0&cajaID=" + cajaID);
            }
            //}
        }
Exemplo n.º 11
0
        private void butConfirmar_Click(object sender, System.EventArgs e)
        {
            usuario = (IUsuarios)Session["usuario"];

            // Obtengo las agencias para verificar si la sucursal de la guía a recibir es válida
            // en el caso de guías de agencias no automatizadas
            IAgencia   agencia    = AgenciaFactory.GetAgencia();
            DsAgencias dsAgencias = agencia.GetAgenciasDataSet();

            bool      ok                = true;
            Hashtable hGuias            = new Hashtable(); // Guías que no se pueden recibir, porque son de ag. no automatizadas o no existen
            Hashtable hGuiasNR          = new Hashtable(); // Guías que no están en condiciones de ser recibidas
            Hashtable hGuiasIncompletas = new Hashtable(); // Guías que se pueden recibir, pero no se completaron los datos (valor declarado, bultos y agencias)

            // Verifico si el sistema está configurado para utilizar recepción libre
            bool recepcionLibre      = false;
            IParametroUNegocio param = ParametroUNegocioFactory.GetParametroUNegocio();

            param.Parametro       = NegociosSisPackInterface.SisPack.Parametro.RecepcionLibre;
            param.UnidadNegocioID = this.UnidadNegocioID;
            param.Consultar();
            if (param.ValorString == "1")
            {
                recepcionLibre = true;
            }

            int cant = Utiles.Validaciones.obtieneEntero(this.txtGuiaIndex.Text);

            for (int i = 0; i < cant; i++)
            {
                // ANTES DE RECIBIR CADA GUÍA HAY QUE REALIZAR LOS CONTROLES CORRESPONDIENTES
                // E IR GUARDANDO LAS GUÍAS QUE FALLAN, PARA LUEGO VISUALIZAR UNA LISTA DE ESAS GUÍAS

                string txt        = "txt" + i;
                string obs        = "Obs" + i.ToString() + "$txtObservacionID";
                string obsCodigo  = "Obs" + i.ToString() + "$txtCodigo";
                string obsDescrip = "Obs" + i.ToString() + "$txtObsDescrip";
                string ddl        = "ddl" + i.ToString();

                string nroGuia       = Request.Form[txt].ToString();
                string observacionID = Request.Form[obs].ToString();
                string sObsCodigo    = Request.Form[obsCodigo].ToString();
                string sObsDescrip   = Request.Form[obsDescrip].ToString();

                // Lógica para recibir (y observar) guías
                string tGuia = "";

                tGuia = NegociosSisPackInterface.SisPack.TipoGuia(nroGuia.Substring(0, 1));
                string nroSucursal = nroGuia.Substring(1, 4);
                string nGuia       = nroGuia.Substring(5);

                IGuia oGuia = GuiaFactory.GetGuia();
                oGuia.NroGuia         = Utiles.Validaciones.obtieneEntero(nGuia);
                oGuia.NroSucursalGuia = nroSucursal;
                oGuia.TipoGuia        = tGuia;
                oGuia.Consultar();
                oGuia.EsRecepcion     = 1;
                oGuia.UnidadNegocioID = this.UnidadNegocioID;
                //oGuia.ObservacionID = Utiles.Validaciones.obtieneEntero(observacionID);
                oGuia.UsuarioID = usuario.UsuarioID;

                IGuiaFactura oGuiaFactura = GuiaFacturaFactory.GetGuiaFactura();
                oGuiaFactura.UsuarioID = usuario.UsuarioID;

                // si la guía existe en el sistema, la recibe
                if (oGuia.GuiaID > 0)
                {
                    // Obtengo el Id de la agencia administración
                    IParametroUNegocio paramAdm = ParametroUNegocioFactory.GetParametroUNegocio();
                    paramAdm.Parametro       = NegociosSisPackInterface.SisPack.Parametro.AgenciaDeAdministracion;
                    paramAdm.UnidadNegocioID = this.UnidadNegocioID;
                    paramAdm.Consultar();
                    int agAdm = Utiles.Validaciones.obtieneEntero(paramAdm.ValorString);
                    paramAdm = null;

                    // Reviso si la guía es recepcionable (si la guía todavia no esta en destino o si esta solicitada para devolución)
                    if ((oGuia.EsRecepcionable || oGuia.RevisarSiTieneEstadoHistoricoBuscado(13, 2, oGuia.AgenciaDestinoID)) && !oGuia.EsGuiaAnulada(oGuia.GuiaID))
                    {
                        // La guía es recepcionable
                        ((IGuia)oGuiaFactura).GuiaID = oGuia.GuiaID;

                        /* Diego 09/01/2013 Actualiza el stock de las unidades de logisticas */
                        if (oGuia.TipoGuia == "X")
                        {
                            IGuiaUnidadLogistica gUnidad = GuiaUnidadLogisticaFactory.GetIGuiaUnidadLogistica();
                            gUnidad.ActualizarStockGuiaUnidadLogistica(oGuia.GuiaID, this.AgenciaConectadaID, usuario.UsuarioID, 1);
                        }

                        if ((this.AgenciaConectadaID == oGuia.AgenciaDestinoID) ||
                            ((this.AgenciaConectadaID == oGuia.AgenciaOrigenID /*|| this.AgenciaConectadaID == agAdm*/) && oGuia.EstadoSentidoViaje == (int)NegociosSisPackInterface.SisPack.ValorEstadoSentidoViaje.Devolucion))
                        {
                            if (oGuia.ClasificacionGuiaID != NegociosSisPackInterface.SisPack.ClasificacionGuia.Factura && oGuia.ClasificacionGuiaID != NegociosSisPackInterface.SisPack.ClasificacionGuia.Remito)
                            {
                                //((IGuia)oGuiaFactura).EsRecepcionLibre = recepcionLibre;
                                oGuia.EsRecepcionLibre = recepcionLibre;
                                oGuia.ObservacionID    = Utiles.Validaciones.obtieneEntero(observacionID);
                                oGuia.Ingresada("Recibida Masivamente Administracion", this.AgenciaConectadaID, usuario);
                                /*German 28/06/2016 */
                                if (oGuia.TipoGuia == "X" && EsConformable(oGuia))
                                {
                                    oGuiaFactura.Entregada("Conformada Masivamente Administracion", this.AgenciaConectadaID, usuario);
                                }
                            }
                            else
                            {
                                ((IGuia)oGuiaFactura).EsRecepcionLibre = recepcionLibre;
                                oGuiaFactura.Ingresada("Recibida Masivamente Administracion", this.AgenciaConectadaID, usuario, Utiles.Validaciones.obtieneEntero(observacionID));
                            }
                        }
                        //SFE: Modificado para corregir el bug que no ponia en Agencia de Redespacho en la Recepcion Masiva-- Se agrego el Metodo "EsGuiaDePuntoRecepcionReferenciado(oGuia.GuiaID)"
                        else if (this.EsGuiaDeAgenciaRedespachoReferenciada(oGuia.AgenciaDestinoID, oGuia.GuiaID) || this.EsGuiaDePuntoRecepcionReferenciado(oGuia.GuiaID))
                        {
                            //Guia de redespacho
                            ((IGuia)oGuiaFactura).EsRecepcionLibre = recepcionLibre;
                            oGuiaFactura.Redespacho("Recibida Masivamente Administracion", oGuia.AgenciaDestinoID, usuario);
                        }
                        else
                        {
                            if (oGuia.ClasificacionGuiaID != NegociosSisPackInterface.SisPack.ClasificacionGuia.Factura && oGuia.ClasificacionGuiaID != NegociosSisPackInterface.SisPack.ClasificacionGuia.Remito)
                            {
                                //((IGuia)oGuiaFactura).EsRecepcionLibre = recepcionLibre;
                                oGuia.EsRecepcionLibre = recepcionLibre;
                                oGuia.ObservacionID    = Utiles.Validaciones.obtieneEntero(observacionID);
                                oGuia.Ingresada("Recibida Masivamente Administracion", oGuia.AgenciaDestinoID, usuario);
                                /*German 28/06/2016 */
                                if (oGuia.TipoGuia == "X" && EsConformable(oGuia))
                                {
                                    oGuiaFactura.Entregada("Conformada Masivamente Administracion", oGuia.AgenciaDestinoID, usuario);
                                }
                            }
                            else
                            {
                                ((IGuia)oGuiaFactura).EsRecepcionLibre = recepcionLibre;
                                oGuiaFactura.Ingresada("Recibida Masivamente Administracion", oGuia.AgenciaDestinoID, usuario, Utiles.Validaciones.obtieneEntero(observacionID));
                            }
                        }
                        ////else
                        ////{
                        ////    IAgencia ag = AgenciaFactory.GetAgencia();
                        ////    ag.AgenciaID = oGuia.AgenciaOrigenID;
                        ////    ag.ConsultarBasico();

                        ////    // si la agencia que recibe en forma libre es la agencia madre,
                        ////    // tengo que insertar los estados correspondientes
                        ////    if (recepcionLibre && this.AgenciaConectadaID == ag.AgenciaMadre)
                        ////    {
                        ////        // insertar los estados de agencia madre...
                        ////        if (oGuia.ClasificacionGuiaID != NegociosSisPackInterface.SisPack.ClasificacionGuia.Factura)
                        ////        {
                        ////            oGuia.EsRecepcion = 1;
                        ////            oGuia.EsRecepcionLibre = recepcionLibre;
                        ////            oGuia.ObservacionID = Utiles.Validaciones.obtieneEntero(observacionID);
                        ////            oGuia.UsuarioID = Utiles.Validaciones.obtieneEntero(this.UsuarioConectadoID);
                        ////            oGuia.Observaciones = "Recibida Masivamente";
                        ////            oGuia.RecepcionAgenciaMadre(this.AgenciaConectadaID);
                        ////        }
                        ////        else
                        ////        {
                        ////            ((IGuia)oGuiaFactura).EsRecepcionLibre = recepcionLibre;

                        ////            //Se agregaron las siguientes dos lineas porque cuando llegaba al metodo para observar
                        ////            //no llegaba ni el usuario ni la observacion. FQuiroga 08/04/2016
                        ////            ((IGuia)oGuiaFactura).ObservacionID = Utiles.Validaciones.obtieneEntero(observacionID);
                        ////            ((IGuia)oGuiaFactura).UsuarioID = (usuario.UsuarioID);

                        ////            oGuiaFactura.RecepcionAgenciaMadre("Recibida Masivamente", this.AgenciaConectadaID, Utiles.Validaciones.obtieneEntero(observacionID));
                        ////        }
                        ////    }
                        ////    else
                        ////    {
                        ////        /*SFE: Agregado para trabajar con envios desde la Web*/
                        ////        if (oGuia.EstadoMovimiento != (int)NegociosSisPackInterface.SisPack.ValorEstadoMovimiento.PendienteRetiro)
                        ////        {
                        ////            /**/

                        ////            /*Esto estaba 16/11/2010*/
                        ////            // sino, continuar normalmente...
                        ////            if (oGuia.ClasificacionGuiaID != NegociosSisPackInterface.SisPack.ClasificacionGuia.Factura)
                        ////            {
                        ////                oGuia.EsRecepcionLibre = recepcionLibre;
                        ////                oGuia.ObservacionID = Utiles.Validaciones.obtieneEntero(observacionID);
                        ////                if (oGuia.EstadoMovimiento != (int)NegociosSisPackInterface.SisPack.ValorEstadoMovimiento.PendienteRetiro)
                        ////                    oGuia.Trasbordo("Recibida Masivamente", this.AgenciaConectadaID, usuario);
                        ////                else
                        ////                    oGuia.IngresoReparto("Recibida Masivamente", this.AgenciaConectadaID, usuario);
                        ////            }
                        ////            else
                        ////            {
                        ////                ((IGuia)oGuiaFactura).EsRecepcionLibre = recepcionLibre;
                        ////                if (oGuia.EstadoMovimiento != (int)NegociosSisPackInterface.SisPack.ValorEstadoMovimiento.PendienteRetiro)
                        ////                    oGuiaFactura.Trasbordo("Recibida Masivamente", this.AgenciaConectadaID, usuario, Utiles.Validaciones.obtieneEntero(observacionID));
                        ////                else
                        ////                    oGuiaFactura.IngresoReparto("Recibida Masivamente", this.AgenciaConectadaID, usuario);

                        ////            }
                        ////            /*Esto estaba 16/11/2010*/
                        ////        }


                        ////        /*SFE:Agregado para trabajar con envios desde la Web*/
                        ////        else
                        ////        {
                        ////            // Inserto los estados de "emitida" a la guía que se recibe
                        ////            // ya que se emitió en la web, y cuando se realizó la factura desde SisPack
                        ////            // se insertó el estado "Pendiente de Retiro"

                        ////            IObservacion observacion = ObservacionFactory.GetObservacion();
                        ////            observacion.ObservacionID = Utiles.Validaciones.obtieneEntero(observacionID);
                        ////            if (observacion.ObservacionID > 0)
                        ////                observacion.Buscar();

                        ////            if (observacion.ObservacionID > 0 && observacion.TipoObservacionID == (int)NegociosSisPackInterface.SisPack.TipoObservacion.WebYPendienteRetiro)
                        ////            {
                        ////                /* VSA 14-08: Si se ha ingresado una observación del tipo WebYPendienteRetiro --> no se cambia el estado movimiento de la guía.*/
                        ////                //IGuia oGuia = GuiaFactory.GetGuia();
                        ////                //oGuia.GuiaID = Utiles.Validaciones.obtieneEntero(txtGuiaID.Text);
                        ////                oGuia.ObservacionID = observacion.ObservacionID;
                        ////                oGuia.UsuarioID = usuario.UsuarioID;
                        ////                oGuia.Observar();
                        ////                oGuia = null;
                        ////                /********************************************************************************************************************************/
                        ////                //bOK = true;
                        ////            }
                        ////            else
                        ////                //bOK =
                        ////                oGuia.IngresoReparto(observacion.ObsDescrip, this.AgenciaConectadaID, usuario);
                        ////        }
                        ////        /*SFE */
                        ////    }
                        ////}
                    } // fin if EsRecepcionable
                    else
                    {
                        // acá debería guardar las que no se pueden recibir y luego mostrarlas en un alert...
                        string guia = nroSucursal + "-" + nGuia + "-" + tGuia;
                        if (hGuiasNR.ContainsKey(oGuia.GuiaID) == false)
                        {
                            hGuiasNR.Add(oGuia.GuiaID, guia);
                        }
                    }
                }
            } // fin for

            Session["GuiasNR"] = hGuiasNR;

            if (ok)
            {
                Session["GuiasDefectuosas"] = null;
                Response.Redirect("RecepcionMasivaAdministracion.aspx");
            }
            else
            {
                if (hGuiasIncompletas != null && hGuiasIncompletas.Count > 0)
                {
                    hGuias = hGuiasIncompletas;
                }

                this.txtGuiasDefectuosas.Text = "1";
                Session["GuiasDefectuosas"]   = hGuias;
                Response.Redirect("RecepcionMasivaAdministracion.aspx?d=1");
            }
        }
        private void butConfirmar_Click(object sender, System.EventArgs e)
        {
            usuario = (IUsuarios)Session["usuario"];

            // Obtengo las agencias para verificar si la sucursal de la guía a recibir es válida
            // en el caso de guías de agencias no automatizadas
            IAgencia   agencia    = AgenciaFactory.GetAgencia();
            DsAgencias dsAgencias = agencia.GetAgenciasDataSet();

            bool      ok                = true;
            Hashtable hGuias            = new Hashtable();  // Guías que no se pueden recibir, porque son de ag. no automatizadas o no existen
            Hashtable hGuiasNR          = new Hashtable();  // Guías que no están en condiciones de ser recibidas
            Hashtable hGuiasIncompletas = new Hashtable();  // Guías que se pueden recibir, pero no se completaron los datos (valor declarado, bultos y agencias)

            // Verifico si el sistema está configurado para utilizar recepción libre
            bool recepcionLibre      = false;
            IParametroUNegocio param = ParametroUNegocioFactory.GetParametroUNegocio();

            param.Parametro       = NegociosSisPackInterface.SisPack.Parametro.RecepcionLibre;
            param.UnidadNegocioID = this.UnidadNegocioID;
            param.Consultar();
            if (param.ValorString == "1")
            {
                recepcionLibre = true;
            }

            int cant = Utiles.Validaciones.obtieneEntero(this.txtGuiaIndex.Text);

            for (int i = 0; i < cant; i++)
            {
                // ANTES DE RECIBIR CADA GUÍA HAY QUE REALIZAR LOS CONTROLES CORRESPONDIENTES
                // E IR GUARDANDO LAS GUÍAS QUE FALLAN, PARA LUEGO VISUALIZAR UNA LISTA DE ESAS GUÍAS

                string txt        = "txt" + i;
                string obs        = "Obs" + i.ToString() + "$txtObservacionID";
                string obsCodigo  = "Obs" + i.ToString() + "$txtCodigo";
                string obsDescrip = "Obs" + i.ToString() + "$txtObsDescrip";
                string ddl        = "ddl" + i.ToString();

                string nroGuia       = Request.Form[txt].ToString();
                string observacionID = Request.Form[obs].ToString();
                string sObsCodigo    = Request.Form[obsCodigo].ToString();
                string sObsDescrip   = Request.Form[obsDescrip].ToString();

                // Lógica para recibir (y observar) guías
                string tGuia = "";
//				if (nroGuia.Substring(0,1) == "3")
//					tGuia="A";
//				else if (nroGuia.Substring(0,1) == "4")
//					tGuia="B";
//				//else
//				//throw new Exception("Errores.Invalidos.CodigoBarrasLongitud");
                tGuia = NegociosSisPackInterface.SisPack.TipoGuia(nroGuia.Substring(0, 1));
                string nroSucursal = nroGuia.Substring(1, 4);
                string nGuia       = nroGuia.Substring(5);

                IGuia oGuia = GuiaFactory.GetGuia();
                oGuia.NroGuia         = Utiles.Validaciones.obtieneEntero(nGuia);
                oGuia.NroSucursalGuia = nroSucursal;
                oGuia.TipoGuia        = tGuia;
                oGuia.Consultar();
                oGuia.EsRecepcion     = 1;
                oGuia.UnidadNegocioID = this.UnidadNegocioID;
                //oGuia.ObservacionID = Utiles.Validaciones.obtieneEntero(observacionID);
                oGuia.UsuarioID = usuario.UsuarioID;

                IGuiaFactura oGuiaFactura = GuiaFacturaFactory.GetGuiaFactura();
                oGuiaFactura.UsuarioID = usuario.UsuarioID;

                // si la guía existe en el sistema, la recibe
                if (oGuia.GuiaID > 0)
                {
                    // Obtengo el Id de la agencia administración
                    IParametroUNegocio paramAdm = ParametroUNegocioFactory.GetParametroUNegocio();
                    paramAdm.Parametro       = NegociosSisPackInterface.SisPack.Parametro.AgenciaDeAdministracion;
                    paramAdm.UnidadNegocioID = this.UnidadNegocioID;
                    paramAdm.Consultar();
                    int agAdm = Utiles.Validaciones.obtieneEntero(paramAdm.ValorString);
                    paramAdm = null;

                    // Reviso si la guía es recepcionable (si la guía todavia no esta en destino o si esta solicitada para devolución)
                    //if (oGuia.EsRecepcionable || oGuia.RevisarSiTieneEstadoHistoricoBuscado(13, 2, oGuia.AgenciaDestinoID))
                    // Diego 29/03/2014
                    // Modificado para que verifique que la guia no este anulada o anulada WEB
                    if ((oGuia.EsRecepcionable || oGuia.RevisarSiTieneEstadoHistoricoBuscado(13, 2, oGuia.AgenciaDestinoID)) && !oGuia.EsGuiaAnulada(oGuia.GuiaID))
                    {
                        // La guía es recepcionable
                        ((IGuia)oGuiaFactura).GuiaID = oGuia.GuiaID;

                        /* Diego 09/01/2013 Actualiza el stock de las unidades de logisticas */
                        if (oGuia.TipoGuia == "X")
                        {
                            IGuiaUnidadLogistica gUnidad = GuiaUnidadLogisticaFactory.GetIGuiaUnidadLogistica();
                            gUnidad.ActualizarStockGuiaUnidadLogistica(oGuia.GuiaID, this.AgenciaConectadaID, usuario.UsuarioID, 1);
                        }

                        if ((this.AgenciaConectadaID == oGuia.AgenciaDestinoID) ||
                            ((this.AgenciaConectadaID == oGuia.AgenciaOrigenID /*|| this.AgenciaConectadaID == agAdm*/) && oGuia.EstadoSentidoViaje == (int)NegociosSisPackInterface.SisPack.ValorEstadoSentidoViaje.Devolucion))
                        {
                            if (oGuia.ClasificacionGuiaID != NegociosSisPackInterface.SisPack.ClasificacionGuia.Factura && oGuia.ClasificacionGuiaID != NegociosSisPackInterface.SisPack.ClasificacionGuia.Remito)
                            {
                                //((IGuia)oGuiaFactura).EsRecepcionLibre = recepcionLibre;
                                oGuia.EsRecepcionLibre = recepcionLibre;
                                oGuia.ObservacionID    = Utiles.Validaciones.obtieneEntero(observacionID);
                                oGuia.Ingresada("Recibida Masivamente", this.AgenciaConectadaID, usuario);
                                /*German 28/06/2016 */
                                if (oGuia.TipoGuia == "X" && EsConformable(oGuia))
                                {
                                    oGuiaFactura.Entregada("Conformada Masivamente", this.AgenciaConectadaID, usuario);
                                }
                                ObservarFinDeSemana(oGuia.GuiaID, usuario.UsuarioID);
                            }
                            else
                            {
                                ((IGuia)oGuiaFactura).EsRecepcionLibre = recepcionLibre;
                                oGuiaFactura.Ingresada("Recibida Masivamente", this.AgenciaConectadaID, usuario, Utiles.Validaciones.obtieneEntero(observacionID));
                                ObservarFinDeSemana(((IGuia)oGuiaFactura).GuiaID, usuario.UsuarioID);
                            }
                        }
                        else if (this.AgenciaConectadaID == agAdm && oGuia.EstadoSentidoViaje == (int)NegociosSisPackInterface.SisPack.ValorEstadoSentidoViaje.Devolucion)
                        {
                            // La guía se esta recibiendo en administración y es una devolución. La cargo como que queda en archivo
                            if (oGuia.ClasificacionGuiaID != NegociosSisPackInterface.SisPack.ClasificacionGuia.Factura)
                            {
                                ((IGuia)oGuiaFactura).EsRecepcionLibre = recepcionLibre;
                                oGuia.ObservacionID = Utiles.Validaciones.obtieneEntero(observacionID);
                                oGuia.IngresadaAArchivo("Recibida Masivamente", this.AgenciaConectadaID, usuario);
                                ObservarFinDeSemana(oGuia.GuiaID, usuario.UsuarioID);
                            }
                            else
                            {
                                ((IGuia)oGuiaFactura).EsRecepcionLibre = recepcionLibre;
                                oGuiaFactura.IngresadaAArchivo("Recibida Masivamente", this.AgenciaConectadaID, usuario, Utiles.Validaciones.obtieneEntero(observacionID));
                                ObservarFinDeSemana(((IGuia)oGuiaFactura).GuiaID, usuario.UsuarioID);
                            }
                        }
                        //SFE: Modificado para corregir el bug que no ponia en Agencia de Redespacho en la Recepcion Masiva-- Se agrego el Metodo "EsGuiaDePuntoRecepcionReferenciado(oGuia.GuiaID)"
                        else if (this.EsGuiaDeAgenciaRedespachoReferenciada(oGuia.AgenciaDestinoID, oGuia.GuiaID) || this.EsGuiaDePuntoRecepcionReferenciado(oGuia.GuiaID))
                        {
                            //Guia de redespacho
                            ((IGuia)oGuiaFactura).EsRecepcionLibre = recepcionLibre;
                            oGuiaFactura.Redespacho("Recibida Masivamente", this.AgenciaConectadaID, usuario);
                            ObservarFinDeSemana(((IGuia)oGuiaFactura).GuiaID, usuario.UsuarioID);
                        }
                        else
                        {
                            IAgencia ag = AgenciaFactory.GetAgencia();
                            ag.AgenciaID = oGuia.AgenciaOrigenID;
                            ag.ConsultarBasico();

                            // si la agencia que recibe en forma libre es la agencia madre,
                            // tengo que insertar los estados correspondientes
                            if (recepcionLibre && this.AgenciaConectadaID == ag.AgenciaMadre)
                            {
                                // insertar los estados de agencia madre...
                                if (oGuia.ClasificacionGuiaID != NegociosSisPackInterface.SisPack.ClasificacionGuia.Factura)
                                {
                                    oGuia.EsRecepcion      = 1;
                                    oGuia.EsRecepcionLibre = recepcionLibre;
                                    oGuia.ObservacionID    = Utiles.Validaciones.obtieneEntero(observacionID);
                                    oGuia.UsuarioID        = Utiles.Validaciones.obtieneEntero(this.UsuarioConectadoID);
                                    oGuia.Observaciones    = "Recibida Masivamente";
                                    oGuia.RecepcionAgenciaMadre(this.AgenciaConectadaID);
                                    ObservarFinDeSemana(oGuia.GuiaID, usuario.UsuarioID);
                                }
                                else
                                {
                                    ((IGuia)oGuiaFactura).EsRecepcionLibre = recepcionLibre;

                                    //Se agregaron las siguientes dos lineas porque cuando llegaba al metodo para observar
                                    //no llegaba ni el usuario ni la observacion. FQuiroga 08/04/2016
                                    ((IGuia)oGuiaFactura).ObservacionID = Utiles.Validaciones.obtieneEntero(observacionID);
                                    ((IGuia)oGuiaFactura).UsuarioID     = (usuario.UsuarioID);

                                    oGuiaFactura.RecepcionAgenciaMadre("Recibida Masivamente", this.AgenciaConectadaID, Utiles.Validaciones.obtieneEntero(observacionID));
                                    ObservarFinDeSemana(((IGuia)oGuiaFactura).GuiaID, usuario.UsuarioID);
                                }
                            }
                            else
                            {
                                /*SFE: Agregado para trabajar con envios desde la Web*/
                                if (oGuia.EstadoMovimiento != (int)NegociosSisPackInterface.SisPack.ValorEstadoMovimiento.PendienteRetiro)
                                {
                                    /**/

                                    /*Esto estaba 16/11/2010*/
                                    // sino, continuar normalmente...
                                    if (oGuia.ClasificacionGuiaID != NegociosSisPackInterface.SisPack.ClasificacionGuia.Factura)
                                    {
                                        oGuia.EsRecepcionLibre = recepcionLibre;
                                        oGuia.ObservacionID    = Utiles.Validaciones.obtieneEntero(observacionID);
                                        if (oGuia.EstadoMovimiento != (int)NegociosSisPackInterface.SisPack.ValorEstadoMovimiento.PendienteRetiro)
                                        {
                                            oGuia.Trasbordo("Recibida Masivamente", this.AgenciaConectadaID, usuario);
                                        }
                                        else
                                        {
                                            oGuia.IngresoReparto("Recibida Masivamente", this.AgenciaConectadaID, usuario);
                                        }
                                        ObservarFinDeSemana(oGuia.GuiaID, usuario.UsuarioID);
                                    }
                                    else
                                    {
                                        ((IGuia)oGuiaFactura).EsRecepcionLibre = recepcionLibre;
                                        if (oGuia.EstadoMovimiento != (int)NegociosSisPackInterface.SisPack.ValorEstadoMovimiento.PendienteRetiro)
                                        {
                                            oGuiaFactura.Trasbordo("Recibida Masivamente", this.AgenciaConectadaID, usuario, Utiles.Validaciones.obtieneEntero(observacionID));
                                        }
                                        else
                                        {
                                            oGuiaFactura.IngresoReparto("Recibida Masivamente", this.AgenciaConectadaID, usuario);
                                        }

                                        ObservarFinDeSemana(((IGuia)oGuiaFactura).GuiaID, usuario.UsuarioID);
                                    }
                                    /*Esto estaba 16/11/2010*/
                                }


                                /*SFE:Agregado para trabajar con envios desde la Web*/
                                else
                                {
                                    // Inserto los estados de "emitida" a la guía que se recibe
                                    // ya que se emitió en la web, y cuando se realizó la factura desde SisPack
                                    // se insertó el estado "Pendiente de Retiro"

                                    IObservacion observacion = ObservacionFactory.GetObservacion();
                                    observacion.ObservacionID = Utiles.Validaciones.obtieneEntero(observacionID);
                                    if (observacion.ObservacionID > 0)
                                    {
                                        observacion.Buscar();
                                    }

                                    if (observacion.ObservacionID > 0 && observacion.TipoObservacionID == (int)NegociosSisPackInterface.SisPack.TipoObservacion.WebYPendienteRetiro)
                                    {
                                        /* VSA 14-08: Si se ha ingresado una observación del tipo WebYPendienteRetiro --> no se cambia el estado movimiento de la guía.*/
                                        //IGuia oGuia = GuiaFactory.GetGuia();
                                        //oGuia.GuiaID = Utiles.Validaciones.obtieneEntero(txtGuiaID.Text);
                                        oGuia.ObservacionID = observacion.ObservacionID;
                                        oGuia.UsuarioID     = usuario.UsuarioID;
                                        oGuia.Observar();
                                        oGuia = null;
                                        /********************************************************************************************************************************/
                                        //bOK = true;
                                    }
                                    else
                                    {
                                        //bOK =
                                        oGuia.IngresoReparto(observacion.ObsDescrip, this.AgenciaConectadaID, usuario);
                                    }
                                }
                                /*SFE */
                            }
                        }
                    }                     // fin if EsRecepcionable
                    else
                    {
                        // acá debería guardar las que no se pueden recibir y luego mostrarlas en un alert...
                        string guia = nroSucursal + "-" + nGuia + "-" + tGuia;
                        if (hGuiasNR.ContainsKey(oGuia.GuiaID) == false)
                        {
                            hGuiasNR.Add(oGuia.GuiaID, guia);
                        }
                    }
                }
                else
                {
                    if (this.txtGuiasDefectuosas.Text == "0")
                    {
                        /*SFE: 12/01/2011. No permitir la recepcion de una guía que no se haya emitido y que la Agencia de Origen sea auto impresora*/
                        // Si la guía no existe en el sistema, consulto si la Agencia Origen es Autoimpresora
                        // 1ro verifico si la sucursal ingresada es válida
                        DsAgencias.DatosRow[] dr = (DsAgencias.DatosRow[])dsAgencias.Datos.Select("SucursalDGI = '" + nroSucursal + "'");

                        if (dr.Length > 0)                         // Si es una sucursal válida,  ahora controlo que no este configurada como autoimpresora
                        {
                            DsAgencias.DatosRow drAgencia = dr[0];
                            string guia = nroSucursal + "-" + nGuia + "-" + tGuia;
                            if (drAgencia.TipoImpresionGuiaId != (int)NegociosSisPackInterface.SisPack.TipoImpresionGuia.PreImpresa)                             // Caso Buscado: Guia no existe en el sistema y la Agencia Origen es Autoimpresora. No dejar recibir
                            {
                                hGuiasNR.Add(oGuia.GuiaID, guia);
                            }
                        }
                        else
                        {
                            // si la guía no existe en el sistema, ya sea porque fue emitida por una agencia no
                            // automatizada o bien porque se emitió en forma manual por una automatizada
                            // hay que visualizarla nuevamente para que se ingresen los datos correspondientes
                            ok = false;

                            string obsTemp = observacionID + "#" + sObsCodigo + "#" + sObsDescrip;
                            if (hGuias.ContainsKey(nroGuia) == false)
                            {
                                hGuias.Add(nroGuia, obsTemp);
                            }
                            //this.txtGuiasDefectuosas.Text = "1";
                        }
                    }
                    else
                    {
                        /*SFE: 12/01/2011. No permitir la recepcion de una guía que no se haya emitido y que la Agencia de Origen sea auto impresora*/


                        // 1ro verifico si la sucursal ingresada es válida
                        DsAgencias.DatosRow[] dr = (DsAgencias.DatosRow[])dsAgencias.Datos.Select("SucursalDGI = '" + nroSucursal + "'");

                        if (dr.Length > 0)                         // Si es una sucursal válida,  ahora controlo que no este configurada como autoimpresora
                        {
                            DsAgencias.DatosRow drAgencia = dr[0];

                            if (drAgencia.TipoImpresionGuiaId != (int)NegociosSisPackInterface.SisPack.TipoImpresionGuia.PreImpresa)                             // Caso Buscado: Guia no existe en el sistema y la Agencia Origen es Autoimpresora. No dejar recibir
                            {
                                string guia = nroSucursal + "-" + nGuia + "-" + tGuia;
                                if (hGuiasNR.ContainsKey(oGuia.GuiaID) == false)
                                {
                                    hGuiasNR.Add(oGuia.GuiaID, guia);
                                }
                            }
                            else
                            {
                                string valorDeclarado      = "txtValorDeclarado" + i;
                                string bultos              = "txtBultos" + i.ToString();
                                string agenciaDestino      = "agDes" + i.ToString() + "$txtAgenciaID";
                                string clasificacionGuiaID = Request.Form[ddl].ToString();

                                double vd            = Utiles.Validaciones.obtieneDouble(Request.Form[valorDeclarado].ToString());
                                int    bultosTotales = Utiles.Validaciones.obtieneEntero(Request.Form[bultos].ToString());
                                int    agDes         = Utiles.Validaciones.obtieneEntero(Request.Form[agenciaDestino].ToString());

                                if (vd > 0 && bultosTotales > 0 && agDes > 0)
                                {
                                    oGuiaFactura = GuiaFacturaFactory.GetGuiaFactura();
                                    ((IGuia)oGuiaFactura).TipoGuia        = tGuia;
                                    ((IGuia)oGuiaFactura).NroSucursalGuia = nroSucursal;
                                    ((IGuia)oGuiaFactura).NroGuia         = Utiles.Validaciones.obtieneEntero(nGuia);
                                    ((IGuia)oGuiaFactura).UnidadNegocioID = this.UnidadNegocioID;
                                    ((IGuia)oGuiaFactura).FechaEmision    = new DateTime(1900, 1, 1);

                                    ((IGuia)oGuiaFactura).ClasificacionGuiaID = (NegociosSisPackInterface.SisPack.ClasificacionGuia)Utiles.Validaciones.obtieneEntero(clasificacionGuiaID);

                                    IAgencia agOrigen = AgenciaFactory.GetAgencia();
                                    agOrigen.SucursalDGI = nroSucursal;
                                    agOrigen.ConsultarBySucursal();
                                    ((IGuia)oGuiaFactura).AgenciaOrigenID = agOrigen.AgenciaID;

                                    ((IGuia)oGuiaFactura).AgenciaDestinoID = agDes;
                                    ((IGuia)oGuiaFactura).Observaciones    = "";
                                    ((IGuia)oGuiaFactura).EsRecepcion      = 1;
                                    //((IGuia) oGuiaFactura).ObservacionID = Utiles.Validaciones.obtieneEntero(observacionID);
                                    ((IGuia)oGuiaFactura).UsuarioID = usuario.UsuarioID;
                                    ((IGuia)oGuiaFactura).GuiaID    = oGuia.GuiaID;

                                    oGuiaFactura.ImporteTotalGuia    = 0;
                                    oGuiaFactura.ValorDeclaradoTotal = vd;
                                    oGuiaFactura.CantidadBultosTotal = bultosTotales;

                                    if ((this.AgenciaConectadaID == agDes))
                                    {
                                        if (Utiles.Validaciones.obtieneEntero(clasificacionGuiaID) != (int)NegociosSisPackInterface.SisPack.ClasificacionGuia.Factura)
                                        {
                                            oGuia.ObservacionID = Utiles.Validaciones.obtieneEntero(observacionID);
                                            oGuia.Ingresada("Recibida Masivamente", this.AgenciaConectadaID, usuario);
                                            ObservarFinDeSemana(oGuia.GuiaID, usuario.UsuarioID);
                                        }
                                        else
                                        {
                                            oGuiaFactura.Ingresada("Recibida Masivamente", this.AgenciaConectadaID, usuario, Utiles.Validaciones.obtieneEntero(observacionID));
                                            ObservarFinDeSemana(((IGuia)oGuiaFactura).GuiaID, usuario.UsuarioID);
                                        }
                                    }
                                    else if (this.EsGuiaDeAgenciaRedespachoReferenciada(agDes, oGuia.GuiaID))
                                    {
                                        //Guia de redespacho
                                        ((IGuia)oGuiaFactura).EsRecepcionLibre = recepcionLibre;
                                        oGuiaFactura.Redespacho("Recibida Masivamente", this.AgenciaConectadaID, usuario);
                                        ObservarFinDeSemana(((IGuia)oGuiaFactura).GuiaID, usuario.UsuarioID);
                                    }
                                    else
                                    {
                                        if (Utiles.Validaciones.obtieneEntero(clasificacionGuiaID) != (int)NegociosSisPackInterface.SisPack.ClasificacionGuia.Factura)
                                        {
                                            oGuia.ObservacionID    = Utiles.Validaciones.obtieneEntero(observacionID);
                                            oGuia.EsRecepcionLibre = recepcionLibre;
                                            oGuia.Trasbordo("Recibida Masivamente", this.AgenciaConectadaID, usuario);
                                            ObservarFinDeSemana(oGuia.GuiaID, usuario.UsuarioID);
                                        }
                                        else
                                        {
                                            ((IGuia)oGuiaFactura).EsRecepcionLibre = recepcionLibre;
                                            oGuiaFactura.Trasbordo("Recibida Masivamente", this.AgenciaConectadaID, usuario, Utiles.Validaciones.obtieneEntero(observacionID));
                                            ObservarFinDeSemana(((IGuia)oGuiaFactura).GuiaID, usuario.UsuarioID);
                                        }
                                    }
                                }
                                else
                                {
                                    ok = false;
                                    string obsTemp = observacionID + "#" + sObsCodigo + "#" + sObsDescrip;
                                    if (hGuiasIncompletas.ContainsKey(nroGuia) == false)
                                    {
                                        hGuiasIncompletas.Add(nroGuia, obsTemp);
                                    }
                                }
                            }
                        }                         // fin dr.Length
                    }
                }
            }             // fin for

            Session["GuiasNR"] = hGuiasNR;

            if (ok)
            {
                Session["GuiasDefectuosas"] = null;
                Response.Redirect("RecepcionMasiva.aspx");
            }
            else
            {
                if (hGuiasIncompletas != null && hGuiasIncompletas.Count > 0)
                {
                    hGuias = hGuiasIncompletas;
                }

                this.txtGuiasDefectuosas.Text = "1";
                Session["GuiasDefectuosas"]   = hGuias;
                Response.Redirect("RecepcionMasiva.aspx?d=1");
            }
        }
        private DsGuias BuscarPorTipo()
        {
            //Habilito los validadores para el buscar
            BaseValidator bv;

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

            bv         = (BaseValidator)this.phValidNroSucursal.FindControl("validNroSucursal");
            bv.Enabled = true;
            bv.Validate();
            if (!bv.IsValid)
            {
                return(null);
            }

            bv         = (BaseValidator)this.phValidNroSucursal.FindControl("validNroSucursalInv");
            bv.Enabled = true;
            bv.Validate();
            if (!bv.IsValid)
            {
                return(null);
            }

            bv         = (BaseValidator)this.phValidNroGuia.FindControl("validNroGuia");
            bv.Enabled = true;
            bv.Validate();
            if (!bv.IsValid)
            {
                return(null);
            }

            bv         = (BaseValidator)this.phValidNroGuia.FindControl("validNroGuiaInv");
            bv.Enabled = true;
            bv.Validate();
            if (!bv.IsValid)
            {
                return(null);
            }

            IGuia guia = GuiaFactory.GetGuia();

            guia.TipoGuia        = this.ddlTipoGuia.SelectedValue;
            guia.NroSucursalGuia = this.txtNroSucursal.Text == "" ? "0" : this.txtNroSucursal.Text;
            guia.NroGuia         = this.txtNroGuia.Text == "" ? 0 : Convert.ToInt32(this.txtNroGuia.Text);
            //DsGuias ds=guia.GetGuiaOneDataSet();


            IAgencia   agencia     = AgenciaFactory.GetAgencia();
            DsAgencias dsAgencias  = agencia.GetAgenciasDataSet();
            string     sucursalDGI = this.txtNroSucursal.Text;

            DsAgencias.DatosRow[] dr = (DsAgencias.DatosRow[])dsAgencias.Datos.Select("SucursalDGI = '" + sucursalDGI + "'");

            if (dr.Length == 0)
            {
                //No es una sucursal válida
                string script = "<script language='javascript'>\n";
                script += "alert('No es una sucursal valida');\n";
                //script += "window.location.href = 'CambiarEstadoGuias.aspx?TipoEstadoGuiaID="+iTipoEstadoGuiaID+"&EstadoGuiaID="+iEstadoGuiaID+"&OpcionEstado="+opcionEstado+"';\n";
                script += "</script>";

                Page.RegisterStartupScript("alertErr", script);
                return(null);
            }
            else
            {
                return(guia.GetGuiaOneDataSet());
            }
        }
        private DsGuias BuscarPorCodigo()
        {
            BaseValidator bv;

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


            IGuia guia = GuiaFactory.GetGuia();

            if (this.txtCodigoBarra.Text.Length >= 10)
            {
                string tGuia  = "";
                string codigo = this.txtCodigoBarra.Text;
//				if (codigo.Substring(0,1) == "3")
//					tGuia="A";
//				else if (codigo.Substring(0,1) == "4")
//					tGuia="B";
//				else
//					throw new Exception("Errores.Invalidos.CodigoBarrasLongitud");

                tGuia = NegociosSisPackInterface.SisPack.TipoGuia(codigo.Substring(0, 1));
                if (tGuia.Equals(""))
                {
                    throw new Exception("Errores.Invalidos.CodigoBarrasLongitud");
                }

                string nroSucursal = codigo.Substring(1, 4);
                string nGuia       = codigo.Substring(5);

                this.ddlTipoGuia.SelectedValue = tGuia;
                this.txtNroSucursal.Text       = nroSucursal;
                this.txtNroGuia.Text           = nGuia;

                Session["tipoGuia"]    = tGuia;
                Session["nroSucursal"] = nroSucursal;
                Session["nroGuia"]     = Convert.ToInt32(nGuia);

                IAgencia   agencia     = AgenciaFactory.GetAgencia();
                DsAgencias dsAgencias  = agencia.GetAgenciasDataSet();
                string     sucursalDGI = this.txtNroSucursal.Text;

                DsAgencias.DatosRow[] dr = (DsAgencias.DatosRow[])dsAgencias.Datos.Select("SucursalDGI = '" + sucursalDGI + "'");

                if (dr.Length == 0)
                {
                    //No es una sucursal válida
                    string script = "<script language='javascript'>\n";
                    script += "alert('No es una sucursal valida');\n";
                    //script += "window.location.href = 'CambiarEstadoGuias.aspx?TipoEstadoGuiaID="+iTipoEstadoGuiaID+"&EstadoGuiaID="+iEstadoGuiaID+"&OpcionEstado="+opcionEstado+"';\n";
                    script += "</script>";

                    Page.RegisterStartupScript("alertErr", script);
                    return(null);
                }
                else
                {
                    return(guia.GetGuiasOneByCodigoBarra(this.txtCodigoBarra.Text));
                }
            }
            else
            {
                throw new Exception("Errores.Invalidos.CodigoBarrasLongitud");
            }
        }
        private void Buscar()
        {
            int total = 0;

            try
            {
                IAgencia   agencia = AgenciaFactory.GetAgencia();
                bool       verAgenciasDomicilio = this.verDomicilio == "S" ?  true : false;
                DsAgencias ds = new DsAgencias();
                if (verAgenciasDomicilio)
                {
                    ds = agencia.GetAgenciasConRetiroADomicilio();
                }
                else
                {
                    ds = agencia.GetAgenciasDataSet();
                }

                string filtro = "SucursalDGI LIKE '" + this.sucursal + "%' AND RazonSocial LIKE '" + this.razonSocial + "%'";
                //Agregar que si no le paso una agencia actual, no la tenga que buscar.
                if (this.filtroEspecial == NegociosSisPackInterface.SisPack.TipoAgencia.Cabecera.ToString())
                {
                    if (this.agenciaActual != null && this.agenciaActual.Length > 0)
                    {
                        filtro += " AND EsCabecera = true AND AgenciaID <> " + this.agenciaActual;
                    }
                    else
                    {
                        filtro += " AND EsCabecera = true";
                    }
                }
                else if (this.filtroEspecial == NegociosSisPackInterface.SisPack.TipoAgencia.Madre.ToString())
                {
                    filtro += " AND (AgenciaMadre IS NULL OR AgenciaMadre <> " + this.agenciaActual + " ) AND AgenciaID <> " + this.agenciaActual;
                }

                DsAgencias.DatosRow[] drLista = (DsAgencias.DatosRow[])ds.Datos.Select(filtro);
                total = drLista.Length;

                if (total > 0)
                {
                    if (total == 1)
                    {
                        DsAgencias.DatosRow dr = drLista[0];
                        this.txtAgenciaID.Text   = dr.AgenciaID.ToString();
                        this.txtSucursal.Text    = dr.SucursalDGI;
                        this.txtRazonSocial.Text = dr.RazonSocial;
                        this.txtErrorMsg.Text    = "";
                        this.txtOpen.Text        = "";
                    }
                    else
                    {
                        this.txtSucursal.Text      = this.sucursal;
                        this.txtRazonSocial.Text   = this.razonSocial;
                        this.txtOpen.Text          = "S";
                        this.txtFiltro.Text        = this.filtroEspecial;
                        this.txtAgenciaActual.Text = this.agenciaActual;
                    }
                }
                else
                {
                    this.txtAgenciaID.Text = "";
                    this.txtErrorMsg.Text  = "No se encontraron datos.";
                    this.txtOpen.Text      = "";
                }
            }
            catch (Exception ex)
            {
                this.txtErrorMsg.Text = "Error al consultar datos de agencias: " + ex.Message;
            }
        }