Example #1
0
        private void Page_Load(object sender, System.EventArgs e)
        {
            string uVta                    = this.Request.QueryString["UVtaID"];
            string modEnt                  = this.Request.QueryString["ModEntrega"];
            string agConectada             = this.Request.QueryString["AgID"];
            string provID                  = this.Request.QueryString["ProvID"];
            string locID                   = this.Request.QueryString["LocID"];
            string localidadesAutorizacion = this.Request.QueryString["LocalidadesAutorizacion"];

            Hashtable hAgencia;
            Hashtable hLoc;
            Hashtable hProv;

            if (CacheDataManager.GetCacheValue("hProv") != null)
            {
                hProv = (Hashtable)CacheDataManager.GetCacheValue("hProv");
            }
            else
            {
                hProv = new Hashtable();
            }

            if (CacheDataManager.GetCacheValue("hLoc") != null)
            {
                hLoc = (Hashtable)CacheDataManager.GetCacheValue("hLoc");
            }
            else
            {
                hLoc = new Hashtable();
            }

            if (CacheDataManager.GetCacheValue("hAgencia") != null)
            {
                hAgencia = (Hashtable)CacheDataManager.GetCacheValue("hAgencia");
            }
            else
            {
                hAgencia = new Hashtable();
            }

            //System.Console.Write("1, Mendoza;2, San Juan;");
            //Response.Write("1, Mendoza;2, San Juan;");
            //Response.ContentType = "text/plain";
            //Response.Write("1, Mendoza;2, San Juan;|");

            // probando....
            if (uVta != null && modEnt != null)
            {
                string datos = "";               //

                if (uVta != null)                //Quiere decir que son las solicitudes del control de Unidad de venta y destino
                {
                    IAdministrarGuias oAdminGuias = AdministrarGuiasFactory.GetAdministrarGuias();
                    DsDestinosGuias   ds          = oAdminGuias.GetUVentaDestinosGuiasDataSet();
                    //string datos = "";
                    if (provID == null && locID == null)                    //Se quieren cargar las provincias
                    {
                        if (hProv.Contains(agConectada + "#" + uVta + "#" + modEnt))
                        {
                            datos = hProv[agConectada + "#" + uVta + "#" + modEnt].ToString();
                        }
                        else
                        {
                            DsDestinosGuias.DatosRow[] dRows = (DsDestinosGuias.DatosRow[])ds.Datos.Select("AgenciaID <> " + agConectada + " AND UnidadVentaID = " + uVta + "AND ModalidadEntregaID = " + modEnt, "ProvinciaDescrip");
                            datos = "0,Elija provincia;";

                            if (dRows != null)
                            {
                                foreach (DsDestinosGuias.DatosRow dr in dRows)
                                {
                                    //string nuevoDato = dr.UnidadVentaID + "," + dr.ModalidadEntregaID +","+ dr.ProvinciaID + "," + dr.ProvinciaDescrip + "," +  dr.LocalidadID + "," + dr.LocalidadDescrip +","+ dr.AgenciaID + "," + dr.RazonSocial + "," + dr.Nombre + ";";
                                    string nuevoDato = dr.ProvinciaID + "," + dr.ProvinciaDescrip + ";";
                                    if (datos.IndexOf(nuevoDato) < 0)
                                    {
                                        datos += nuevoDato;
                                    }
                                }
                            }
                            hProv.Add(agConectada + "#" + uVta + "#" + modEnt, datos);
                            CacheDataManager.SetCacheValue("hProv", hProv);
                        }
                    }
                    else if (provID != null && locID == null)                    //Se quieren cargar las localidades
                    {
                        if (hLoc.Contains(agConectada + "#" + uVta + "#" + modEnt + "#" + provID + "#" + localidadesAutorizacion.Replace(",", "#")))
                        {
                            datos = hLoc[agConectada + "#" + uVta + "#" + modEnt + "#" + provID + "#" + localidadesAutorizacion.Replace(",", "#")].ToString();
                        }
                        else
                        {
                            DsDestinosGuias.DatosRow[] dRows;
                            if (localidadesAutorizacion != null && localidadesAutorizacion.Length > 0)
                            {
                                //original
                                //dRows = (DsDestinosGuias.DatosRow[]) ds.Datos.Select("AgenciaID <> " + agConectada + " AND UnidadVentaID = " + uVta + "AND ModalidadEntregaID = "+modEnt+" AND ProvinciaID = " + provID + " AND LocalidadID IN (" + localidadesAutorizacion + ")","LocalidadDescrip");
                                dRows = (DsDestinosGuias.DatosRow[])ds.Datos.Select("AgenciaID <> " + agConectada + " AND UnidadVentaID = " + uVta + "AND ModalidadEntregaID = " + modEnt + " AND ProvinciaID = " + provID + " AND LocalidadID IN (" + localidadesAutorizacion + ") AND (NoRestringirAgenciasVisualizacion = 1 OR (AgenciaVisualiza = -1 OR AgenciaVisualiza = " + agConectada + "))", "LocalidadDescrip");
                            }
                            else
                            {
                                dRows = (DsDestinosGuias.DatosRow[])ds.Datos.Select("AgenciaID <> " + agConectada + " AND UnidadVentaID = " + uVta + "AND ModalidadEntregaID = " + modEnt + " AND ProvinciaID = " + provID + " AND (NoRestringirAgenciasVisualizacion = 1 OR (AgenciaVisualiza = -1 OR AgenciaVisualiza = " + agConectada + "))", "LocalidadDescrip");
                            }
                            datos = "0,Elija localidad;";
                            if (dRows != null)
                            {
                                foreach (DsDestinosGuias.DatosRow dr in dRows)
                                {
                                    //string nuevoDato = dr.UnidadVentaID + "," + dr.ModalidadEntregaID +","+ dr.ProvinciaID + "," + dr.ProvinciaDescrip + "," +  dr.LocalidadID + "," + dr.LocalidadDescrip +","+ dr.AgenciaID + "," + dr.RazonSocial + "," + dr.Nombre + ";";
                                    string nuevoDato = dr.LocalidadID + "," + dr.LocalidadDescrip + ";";
                                    if (datos.IndexOf(nuevoDato) < 0)
                                    {
                                        datos += nuevoDato;
                                    }
                                }
                                hLoc.Add(agConectada + "#" + uVta + "#" + modEnt + "#" + provID + "#" + localidadesAutorizacion.Replace(",", "#"), datos);
                                CacheDataManager.SetCacheValue("hLoc", hLoc);
                            }
                        }
                    }
                    else if (locID != null)                    //Se quieren cargar las agencias
                    {
                        //					datos = "0,Elija la localidad ;";
                        //foreach(DsAgencias.DatosRow dr in dRows)
                        if (hAgencia.Contains(agConectada + "#" + uVta + "#" + modEnt + "#" + locID))
                        {
                            datos = hAgencia[agConectada + "#" + uVta + "#" + modEnt + "#" + locID].ToString();
                        }
                        else
                        {
                            //DsAgencias dsA = oAdminGuias.GetAgenciasPuntoRecepcionByLocalidad(Utiles.Validaciones.obtieneEntero(locID));
                            DsDestinosGuias dsA = oAdminGuias.GetAgenciasPuntoRecepcionByLocalidad(Utiles.Validaciones.obtieneEntero(locID), Utiles.Validaciones.obtieneEntero(agConectada));

                            //FALTA FILTRAR QUE SOLO TRAIGA LAS QUE CORRESPONDEN A LA UNIDAD DE VENTA
                            //DsAgencias.DatosRow[] dRows = (DsAgencias.DatosRow[]) dsA.Datos.Select("AgenciaID <> " + agConectada,"Nombre");
                            DsDestinosGuias.DatosRow[] dRows = (DsDestinosGuias.DatosRow[])dsA.Datos.Select("AgenciaID <> " + agConectada + " AND UnidadVentaID = " + uVta + "AND ModalidadEntregaID = " + modEnt + " AND LocalidadID = " + locID, "Nombre");
                            //Agregamos aqui un '"";'
                            if (dRows != null)
                            {
                                foreach (DsDestinosGuias.DatosRow dr in dRows)
                                {
                                    //string nuevoDato = dr.UnidadVentaID + "," + dr.ModalidadEntregaID +","+ dr.ProvinciaID + "," + dr.ProvinciaDescrip + "," +  dr.LocalidadID + "," + dr.LocalidadDescrip +","+ dr.AgenciaID + "," + dr.RazonSocial + "," + dr.Nombre + ";";
                                    string nuevoDato = dr.AgenciaID + "," + dr.Nombre + ";";
                                    if (datos.IndexOf(nuevoDato) < 0)
                                    {
                                        datos += nuevoDato;
                                    }
                                }
                                hAgencia.Add(agConectada + "#" + uVta + "#" + modEnt + "#" + locID, datos);
                                CacheDataManager.SetCacheValue("hAgencia", hAgencia);
                            }
                        }

                        /*DsDestinosGuias.DatosRow[] dRows = (DsDestinosGuias.DatosRow[]) ds.Datos.Select("AgenciaID <> " + agConectada + " AND UnidadVentaID = " + uVta + "AND ModalidadEntregaID = "+modEnt+" AND LocalidadID = " + locID,"Nombre");
                         * //Agregamos aqui un '"";'
                         * if (dRows!= null)
                         * {
                         *      //					datos = "0,Elija la localidad ;";
                         *      foreach(DsDestinosGuias.DatosRow dr in dRows)
                         *      {
                         *              //string nuevoDato = dr.UnidadVentaID + "," + dr.ModalidadEntregaID +","+ dr.ProvinciaID + "," + dr.ProvinciaDescrip + "," +  dr.LocalidadID + "," + dr.LocalidadDescrip +","+ dr.AgenciaID + "," + dr.RazonSocial + "," + dr.Nombre + ";";
                         *              string nuevoDato = dr.AgenciaID + "," + dr.Nombre + ";";
                         *              if (datos.IndexOf(nuevoDato) < 0)
                         *                      datos += nuevoDato;
                         *      }
                         * }*/
                    }
                }
                datos += "#";
                Response.Write(datos);
            }
            else             //Viene del control de domicilio
            {
                string datos = "";
                datos = "0,Elija localidad;";
                if (provID != null)
                {
                    datos = LlenarCombos.LlenarStringLocalidades(Convert.ToInt32(provID));
                }
                datos += "#";
                Response.Write(datos);
            }
        }