jueves, 30 de junio de 2011

ciudades de chile

Las ciudades están por región, y asociadas por los 3 dígitos centrales  (0110101) a la primera comuna de cada región, esta mala la asociación pero no encontré en ninguna parte relacion entre las ciudades y las comunas, igual disminuye un poco la colección de ciudades posibles al agruparlas por región.

 Espero que a alguien le sirva.

CODIGO, DESCRIPCION, ID_REGION

0110101,Iquique,01
0110102,Alto Hospicio,01
0110103,Pozo Almonte,01

0210101,Antofagasta,02
0210102,Calama,02
0210103,Tocopilla,02
0210104,Taltal,02
0210105,Mejillones,02
0210106,María Elena,02

0310101,Copiapó,03
0310102,Caldera,03
0310103,Tierra Amarilla,03
0310104,Chañaral,03
0310105,Diego de Almagro,03
0310106,El Salvador,03
0310107,Vallenar,03
0310108,Huasco,03

0410101,La Serena Coquimbo,04
0410102,Andacollo,04
0410103,Vicuña,04
0410104,Illapel,04
0410105,Los Vilos,04
0410106,Salamanca,04
0410107,Ovalle,04
0410108,Combarbalá,04
0410109,Monte Patria,04
0410110,El Palqui,04

0510101,Valparaíso,05
0510102,Concón,05
0510103,Viña del Mar,05
0510104,Villa Alemana,05
0510105,Quilpué,05
0510106,Placilla de Peñuelas,05
0510107,San Antonio,05
0510108,Santo Domingo,05
0510109,Cartagena,05
0510110,Quillota,05
0510111,Hijuelas,05
0510112,La Calera,05
0510113,La Cruz,05
0510114,San Felipe,05
0510115,Casablanca,05
0510116,Las Ventanas,05
0510117,Quintero,05
0510118,Los Andes,05
0510119,Calle Larga,05
0510120,Rinconada,05
0510121,San Esteban,05
0510122,La Ligua,05
0510123,Cabildo,05
0510124,Limache,05
0510125,Nogales,05
0510126,El Melón,05
0510127,Olmué,05
0510128,Algarrobo,05
0510129,El Quisco,05
0510130,El Tabo,05
0510131,Catemu,05
0510132,Llaillay,05
0510133,Putaendo,05
0510134,Villa Los Almendros,05
0510135,Santa María,05

0610101,Rancagua,06
0610102,Machalí,06
0610103,Gultro,06
0610104,Codegua,06
0610105,Doñihue,06
0610106,Lo Miranda,06
0610107,Graneros,06
0610108,Las Cabras,06
0610109,San Francisco de Mostazal,06
0610110,Peumo,06
0610111,Punta Diamante,06
0610112,Quinta de Tilcoco,06
0610113,Rengo,06
0610114,Requínoa,06
0610115,San Vicente de Tagua Tagua,06
0610116,Pichilemu,06
0610117,San Fernando,06
0610118,Chimbarongo,06
0610119,Nancagua,06
0610120,Palmilla,06
0610121,Santa Cruz,06

0710101,Talca,07
0710102,Curicó,07
0710103,Linares,07
0710104,Constitución,07
0710105,San Clemente,07
0710106,Cauquenes,07
0710107,Hualañé,07
0710108,Molina,07
0710109,Teno,07
0710110,Longaví,07
0710111,Parral,07
0710112,San Javier,07
0710113,Villa Alegre,07

0810101,Concepción,08
0810102,Talcahuano,08
0810103,Chiguayante,08
0810104,Coronel,08
0810105,Hualqui,08
0810106,Lota,08
0810107,Penco,08
0810108,Tomé,08
0810109,Hualpén,08
0810110,San Pedro de la Paz,08
0810111,Chillán Viejo,08
0810112,Los Ángeles,08
0810113,Santa Juana,08
0810114,Lebu,08
0810115,Arauco,08
0810116,Cañete,08
0810117,Curanilahue,08
0810118,Los Álamos,08
0810119,Cabrero,08
0810120,Monte Águila,08
0810121,La Laja,08
0810122,Mulchén,08
0810123,Nacimiento,08
0810124,San Rosendo,08
0810125,Santa Bárbara,08
0810126,Huépil,08
0810127,Yumbel,08
0810128,Bulnes,08
0810129,Coelemu,08
0810130,Coihueco,08
0810131,Quillón,08
0810132,Quirihue,08
0810133,San Carlos,08
0810134,Yungay,08

0910101,Temuco,09
0910102,Padre Las Casas,09
0910103,Labranza,09
0910104,Carahue,09
0910105,Cunco,09
0910106,Freire,09
0910107,Lautaro,09
0910109,Loncoche,09
0910110,Nueva Imperial,09
0910111,Pitrufquén,09
0910112,Pucón,09
0910113,Villarrica,09
0910114,Angol,09
0910115,Collipulli,09
0910116,Curacautín,09
0910117,Purén,09
0910118,Renaico,09
0910119,Traiguén,09
0910120,Victoria,09

1010101,Puerto Montt,10
1010102,Calbuco,10
1010103,Fresia,10
1010104,Frutillar,10
1010105,Los Muermos,10
1010106,Llanquihue,10
1010107,Puerto Varas,10
1010108,Castro,10
1010109,Ancud,10
1010110,Quellón,10
1010111,Osorno,10
1010112,Purranque,10
1010113,Río Negro,10

1110101,Coihaique,11
1110102,Puerto Aisén,11

1210101,Punta Arenas,12
1210102,Puerto Natales,12

1310101,Santiago,13
1310102,San José de Maipo,13
1310103,Colina,13
1310104,Lampa,13
1310105,Batuco,13
1310106,Tiltil,13
1310107,Buin,13
1310108,Alto Jahuel,13
1310109,Bajos de San Agustín,13
1310110,Paine,13
1310111,Hospital,13
1310112,Melipilla,13
1310113,Curacaví,13
1310114,Talagante,13
1310115,El Monte,13
1310116,Isla de Maipo,13
1310117,La Islita,13
1310118,Peñaflor,13

1410101,Valdivia,14
1410102,Futrono,14
1410103,La Unión,14
1410104,Lanco,14
1410105,Los Lagos,14
1410106,San José de la Mariquina,14
1410107,Paillaco,14
1410108,Panguipulli,14
1410109,Río Bueno,14

1510101,Arica,15

comunas de chile

Espero que a alguien le sirva.

CODIGO,DESCRIPCION,ID_REGION

 01101,Iquique,01
01107,Alto Hospicio,01
01401,Pozo Almonte,01
01402,Camiña,01
01403,Colchane,01
01404,Huara,01
01405,Pica,01
02101,Antofagasta,02
02102,Mejillones,02
02103,Sierra Gorda,02
02104,Taltal,02
02201,Calama,02
02202,Ollagüe,02
02203,San Pedro de Atacama,02
02301,Tocopilla,02
02302,María Elena,02
03101,Copiapó,03
03102,Caldera,03
03103,Tierra Amarilla,03
03201,Chañaral,03
03202,Diego de Almagro,03
03301,Vallenar,03
03302,Alto del Carmen,03
03303,Freirina,03
03304,Huasco,03
04101,La Serena,04
04102,Coquimbo,04
04103,Andacollo,04
04104,La Higuera,04
04105,Paiguano,04
04106,Vicuña,04
04201,Illapel,04
04202,Canela,04
04203,Los Vilos,04
04204,Salamanca,04
04301,Ovalle,04
04302,Combarbalá,04
04303,Monte Patria,04
04304,Punitaqui,04
04305,Río Hurtado,04
05101,Valparaíso,05
05102,Casablanca,05
05103,Concón,05
05104,Juan Fernández,05
05105,Puchuncaví,05
05107,Quintero,05
05109,Viña del Mar,05
05201,Isla de Pascua,05
05301,Los Andes,05
05302,Calle Larga,05
05303,Rinconada,05
05304,San Esteban,05
05401,La Ligua,05
05402,Cabildo,05
05403,Papudo,05
05404,Petorca,05
05405,Zapallar,05
05501,Quillota,05
05502,Calera,05
05503,Hijuelas,05
05504,La Cruz,05
05506,Nogales,05
05601,San Antonio,05
05602,Algarrobo,05
05603,Cartagena,05
05604,El Quisco,05
05605,El Tabo,05
05606,Santo Domingo,05
05701,San Felipe,05
05702,Catemu,05
05703,Llaillay,05
05704,Panquehue,05
05705,Putaendo,05
05706,Santa María,05
05801,Quilpué,05
05802,Limache,05
05803,Olmué,05
05804,Villa Alemana,05
06101,Rancagua,06
06102,Codegua,06
06103,Coinco,06
06104,Coltauco,06
06105,Doñihue,06
06106,Graneros,06
06107,Las Cabras,06
06108,Machalí,06
06109,Malloa,06
06110,Mostazal,06
06111,Olivar,06
06112,Peumo,06
06113,Pichidegua,06
06114,Quinta de Tilcoco,06
06115,Rengo,06
06116,Requínoa,06
06117,San Vicente,06
06201,Pichilemu,06
06202,La Estrella,06
06203,Litueche,06
06204,Marchihue,06
06205,Navidad,06
06206,Paredones,06
06301,San Fernando,06
06302,Chépica,06
06303,Chimbarongo,06
06304,Lolol,06
06305,Nancagua,06
06306,Palmilla,06
06307,Peralillo,06
06308,Placilla,06
06309,Pumanque,06
06310,Santa Cruz,06
07101,Talca,07
07102,Constitución,07
07103,Curepto,07
07104,Empedrado,07
07105,Maule,07
07106,Pelarco,07
07107,Pencahue,07
07108,Río Claro,07
07109,San Clemente,07
07110,San Rafael,07
07201,Cauquenes,07
07202,Chanco,07
07203,Pelluhue,07
07301,Curicó,07
07302,Hualañé,07
07303,Licantén,07
07304,Molina,07
07305,Rauco,07
07306,Romeral,07
07307,Sagrada Familia,07
07308,Teno,07
07309,Vichuquén,07
07401,Linares,07
07402,Colbún,07
07403,Longaví,07
07404,Parral,07
07405,Retiro,07
07406,San Javier,07
07407,Villa Alegre,07
07408,Yerbas Buenas,07
08101,Concepción,08
08102,Coronel,08
08103,Chiguayante,08
08104,Florida,08
08105,Hualqui,08
08106,Lota,08
08107,Penco,08
08108,San Pedro de la Paz,08
08109,Santa Juana,08
08110,Talcahuano,08
08111,Tomé,08
08112,Hualpén,08
08201,Lebu,08
08202,Arauco,08
08203,Cañete,08
08204,Contulmo,08
08205,Curanilahue,08
08206,Los Álamos,08
08207,Tirúa,08
08301,Los Ángeles,08
08302,Antuco,08
08303,Cabrero,08
08304,Laja,08
08305,Mulchén,08
08306,Nacimiento,08
08307,Negrete,08
08308,Quilaco,08
08309,Quilleco,08
08310,San Rosendo,08
08311,Santa Bárbara,08
08312,Tucapel,08
08313,Yumbel,08
08314,Alto Biobío,08
08401,Chillán,08
08402,Bulnes,08
08403,Cobquecura,08
08404,Coelemu,08
08405,Coihueco,08
08406,Chillán Viejo,08
08407,El Carmen,08
08408,Ninhue,08
08409,Ñiquén,08
08410,Pemuco,08
08411,Pinto,08
08412,Portezuelo,08
08413,Quillón,08
08414,Quirihue,08
08415,Ránquil,08
08416,San Carlos,08
08417,San Fabián,08
08418,San Ignacio,08
08419,San Nicolás,08
08420,Treguaco,08
08421,Yungay,08
09101,Temuco,09
09102,Carahue,09
09103,Cunco,09
09104,Curarrehue,09
09105,Freire,09
09106,Galvarino,09
09107,Gorbea,09
09108,Lautaro,09
09109,Loncoche,09
09110,Melipeuco,09
09111,Nueva Imperial,09
09112,Padre las Casas,09
09113,Perquenco,09
09114,Pitrufquén,09
09115,Pucón,09
09116,Saavedra,09
09117,Teodoro Schmidt,09
09118,Toltén,09
09119,Vilcún,09
09120,Villarrica,09
09121,Cholchol,09
09201,Angol,09
09202,Collipulli,09
09203,Curacautín,09
09204,Ercilla,09
09205,Lonquimay,09
09206,Los Sauces,09
09207,Lumaco,09
09208,Purén,09
09209,Renaico,09
09210,Traiguén,09
09211,Victoria,09
10101,Puerto Montt,10
10102,Calbuco,10
10103,Cochamó,10
10104,Fresia,10
10105,Frutillar,10
10106,Los Muermos,10
10107,Llanquihue,10
10108,Maullín,10
10109,Puerto Varas,10
10201,Castro,10
10202,Ancud,10
10203,Chonchi,10
10204,Curaco de Vélez,10
10205,Dalcahue,10
10206,Puqueldón,10
10207,Queilén,10
10208,Quellón,10
10209,Quemchi,10
10210,Quinchao,10
10301,Osorno,10
10302,Puerto Octay,10
10303,Purranque,10
10304,Puyehue,10
10305,Río Negro,10
10306,San Juan de la Costa,10
10307,San Pablo,10
10401,Chaitén,10
10402,Futaleufú,10
10403,Hualaihué,10
10404,Palena,10
11101,Coihaique,11
11102,Lago Verde,11
11201,Aisén,11
11202,Cisnes,11
11203,Guaitecas,11
11301,Cochrane,11
11302,O’Higgins,11
11303,Tortel,11
11401,Chile Chico,11
11402,Río Ibáñez,11
12101,Punta Arenas,12
12102,Laguna Blanca,12
12103,Río Verde,12
12104,San Gregorio,12
12201,Cabo de Hornos,12
12202,Antártica,12
12301,Porvenir,12
12302,Primavera,12
12303,Timaukel,12
12401,Natales,12
12402,Torres del Paine,12
13101,Santiago,13
13102,Cerrillos,13
13103,Cerro Navia,13
13104,Conchalí,13
13105,El Bosque,13
13106,Estación Central,13
13107,Huechuraba,13
13108,Independencia,13
13109,La Cisterna,13
13110,La Florida,13
13111,La Granja,13
13112,La Pintana,13
13113,La Reina,13
13114,Las Condes,13
13115,Lo Barnechea,13
13116,Lo Espejo,13
13117,Lo Prado,13
13118,Macul,13
13119,Maipú,13
13120,Ñuñoa,13
13121,Pedro Aguirre Cerda,13
13122,Peñalolén,13
13123,Providencia,13
13124,Pudahuel,13
13125,Quilicura,13
13126,Quinta Normal,13
13127,Recoleta,13
13128,Renca,13
13129,San Joaquín,13
13130,San Miguel,13
13131,San Ramón,13
13132,Vitacura,13
13201,Puente Alto,13
13202,Pirque,13
13203,San José de Maipo,13
13301,Colina,13
13302,Lampa ,13
13303,Tiltil,13
13401,San Bernardo,13
13402,Buin,13
13403,Calera de Tango,13
13404,Paine,13
13501,Melipilla,13
13502,Alhué,13
13503,Curacaví,13
13504,María Pinto,13
13505,San Pedro,13
13601,Talagante,13
13602,El Monte,13
13603,Isla de Maipo,13
13604,Padre Hurtado,13
13605,Peñaflor,13
14101,Valdivia,14
14102,Corral,14
14103,Lanco,14
14104,Los Lagos,14
14105,Máfil,14
14106,Mariquina,14
14107,Paillaco,14
14108,Panguipulli,14
14201,La Unión,14
14202,Futrono,14
14203,Lago Ranco,14
14204,Río Bueno,14
15101,Arica,15
15102,Camarones,15
15201,Putre,15
15202,General Lagos,15

regiones de chile

Espero que a alguien le sirva. 

CODIGO, DESCRIPCION

01,Región de Tarapacá
02,Región de Antofagasta
03,Región de Atacama
04,Región de Coquimbo
05,Región de Valparaíso
06,Región del Libertador Gral. Bernardo O’Higgins
07,Región del Maule
08,Región del Biobío
09,Región de la Araucanía
10,Región de Los Lagos
11,Región Aisén del Gral. Carlos Ibáñez del Campo
12,Región de Magallanes y de la Antártica Chilena
13,Región Metropolitana de Santiago
14,Región de Los Ríos (3)
15,Arica y Parinacota (3)

martes, 21 de junio de 2011

concat y orderby linq

En este caso se están concatenando 2 listas en una tercera lista y ordenando por el campo RazonSocial

public IList GetEstacionesByIdZonaGeografica(string idZonaGeografica)
        {
            BpCrud<Estaciones> pbCrudEstaciones = new BpCrud<Estaciones>();
            BpCrud<ZonaGeograficaEstaciones> bpCrudZonaGeograficaEstaciones = new BpCrud<ZonaGeograficaEstaciones>();
            IList<Estaciones> listaEstaciones;
            IList<ZonaGeograficaEstaciones> listaZonaGeograficaEstaciones;

            listaEstaciones = pbCrudEstaciones.BM.List();
            listaZonaGeograficaEstaciones = bpCrudZonaGeograficaEstaciones.BM.List();

            //concatena las dos listas
            var estacionInfo =
            (
                //estaciones no asociadas a ninguna zona geografica
                from le in listaEstaciones
                where le.ZonaGeograficaEstacionesList.Count == 0
                select new
                {
                    IdZonaGeografica = "0",
                    RazonSocial = le.Razonsocial,
                    Acceso = 0,
                    ZonaGeografica = "sin zona asociada",
                    Pbl = le.Pbl,
                    AddUser = 0,
                    AddDate = (DateTime?) DateTime.MinValue
                }
            )
           .Concat
           (
               //estaciones asociadas a la zona geografica
               from lzge in listaZonaGeograficaEstaciones
               where lzge.ZonaGeografica.Zona == idZonaGeografica
               select new
               {
                   IdZonaGeografica = lzge.ZonaGeografica.Zona,
                   RazonSocial = lzge.Estaciones.Razonsocial,
                   Acceso = 1,
                   ZonaGeografica = lzge.ZonaGeografica.Descripcion,
                   Pbl = lzge.Estaciones.Pbl,
                   AddUser = lzge.Adduser,
                   AddDate = lzge.Adddate
               }
           ).OrderBy(q => q.RazonSocial);
           return estacionInfo.ToList();
        }

select distinct linq

Supongamos que tenemos el siguiente DTO:

    public class Receta
    {
        public virtual int SqIdreceta {get;set;}
        public virtual string Shortdescom {get;set;}
        public virtual Decimal? Porcion {get;set;}
        public virtual string Ord {get;set;}
        public virtual string Unidadventa {get;set;}
        /// <summary>
        /// Maestra
        /// </summary>
        public virtual Maestra Maestra {get;set;}
        /// <summary>
        /// Maestra nuevamente
        /// </summary>
        public virtual Maestra Maestraplucom { get; set; }
   }

supongamos que tenemos una tabla "Receta" que describe los productos que componen otro(por ejemplo 1/4 de pollo con papas fritas y bebida), si hacemos un select a esta tabla para desplegar las recetas en un combo para mostrar cuantas recetas tenemos, cada receta va a aparecer n veces (n es la cantidad de ingredientes que componen la receta) haremos un select distinct para obtener las recetas y mostraremos de nuevo el orderby



        public IList GetAllRecetaCombo()
        {
            IList<Receta> listaReceta = new List<Receta>();

            BpCrud<Receta> bpCrudReceta = new BpCrud<Receta>();//clase que va a la base de datos y que tiene sus métodos CRUD ya implementados

            listaReceta = bpCrudReceta.BM.List();//vienen las recetas repetidas

            var recetaInfo =
             (
                from rec in listaReceta
                orderby rec.Maestra.Shortdes// las ordenamos
                select new
                {
                    PLUReceta = rec.Maestra.Plu,
                    DescripcionReceta = rec.Maestra.Shortdes
                }
            ).Distinct().ToList();//filtramos
            return recetaInfo.ToList();
        }

orderby en linq

Supongamos que tenemos el siguiente DTO.

    public class Rol
    {
        public virtual int SqIdrol {get;set;}
        public virtual string NombreRol {get;set;}
        public virtual string Descripcion {get;set;}
        public virtual DateTime? Adddate {get;set;}
        public virtual int? Adduser {get;set;}
        public virtual DateTime? Moddate {get;set;}
        public virtual int? Moduser {get;set;}
        public virtual IList<Acceso> AccesoList {get;set;}
        public virtual IList<Usuario> UsuarioList {get;set;}
}

y queremos cargar un combo con la descripcion del rol y con el id del rol ordenado por la descripcion, seria de la siguiente forma:

         public IList GetAllRol(int idSistema)
        {
            IList<Rol> listaRol = null;
            BmRol bmRol = new BmRol();//clase que va a la base de datos y que tiene sus métodos CRUD ya implementados
            Rol rol = new Rol();
            rol.Sistema = new Sistema(idSistema);
            listaRol = bmRol.FindRol(rol);

            var rolInfo =
                (from roll in listaRol
                 orderby roll.Descripcion
                 select new                  
                 {
                  roll.Descripcion,
                  roll.SqIdrol
                 }
                );
            return rolInfo.ToList();
        }