示例#1
0
        private void BindGrid()
        {
            SisPackController.AdministrarGrillas.Configurar(this.dtgAgencias, "AgenciaID", this.CantidadOpciones);
            try
            {
                IAgencia   agencia = AgenciaFactory.GetAgencia();
                DsAgencias ds      = null;

                IPuntoRecepcion puntoRecepcion = PuntoRecepcionFactory.GetPuntoRecepcion();

                if (this.txtParametro.Text == "1")                 // Se solicitan las agencias de referencia
                {
                    ds = agencia.GetAgenciasReferencia();
                }
                else if (this.txtParametro.Text == "2")                 // Se solicitan las agencias que son puntos de redespacho
                {
                    ds = agencia.GetAgenciasRedespacho();
                }

                /*else if (this.txtParametro.Text == "3") // Se solicitan los puntos de recepcion
                 * {
                 *      ds = puntoRecepcion.GetPuntosRecepcionConvenioRedespachoDataSet();
                 * }*/
                else if (this.txtParametro.Text == "4")                 // Se solicitan las agencias que son cabecera
                {
                    ds = agencia.GetAgenciasCabeceras();
                }


                string sucursal       = this.txtSucursal.Text;
                string razon          = this.txtRazonSocial.Text;
                string filtroEspecial = this.txtFiltro.Text;
                string agenciaActual  = this.txtAgenciaActual.Text;
                string filtro         = "SucursalDGI LIKE '" + sucursal + "%' AND RazonSocial LIKE '" + razon + "%'";

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

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

                dtgAgencias.DataSource = drLista;
                dtgAgencias.DataBind();
            }
            catch (Exception ex)
            {
                throw ex;
                //this.txtErrorMsg.Text = "Error al consultar datos de agencias: " + ex.Message;
            }
        }