コード例 #1
0
ファイル: Filtro.cs プロジェクト: pmprete/dondeducar
 public Filtro()
 {
     Titulo = new Tag();
     Gestion = new Tag();
     TipoDeEstablecimiento = new Tag();
     NivelEducativo = new Tag();
 }
コード例 #2
0
        private void ParsearCsvEscuelas(HttpPostedFileBase file, Tag gestion)
        {
            var tags = Database.GetCollection<Tag>("Tag");

            var query = Query<Tag>.EQ(e => e.Valor, "Inicial");
            var inicial = tags.FindOne(query);

            query = Query<Tag>.EQ(e => e.Valor, "Primario");
            var primario = tags.FindOne(query);

            query = Query<Tag>.EQ(e => e.Valor, "Secundario");
            var medio = tags.FindOne(query);

            query = Query<Tag>.EQ(e => e.Valor, "Superior");
            var superior = tags.FindOne(query);

            query = Query<Tag>.EQ(e => e.Valor, "Otros");
            var otras = tags.FindOne(query);

            query = Query<Tag>.EQ(e => e.Valor, "Tecnico");
            var tecnico = tags.FindOne(query);

            query = Query<Tag>.EQ(e => e.Valor, "Especial");
            var especial = tags.FindOne(query);

            query = Query<Tag>.EQ(e => e.Valor, "Comun");
            var comun = tags.FindOne(query);

            query = Query<Tag>.EQ(e => e.Valor, "Adultos");
            var adultos = tags.FindOne(query);

            query = Query<Tag>.EQ(e => e.Valor, "Artistico");
            var artistico = tags.FindOne(query);

            var establecimientos = Database.GetCollection<Establecimiento>("Establecimiento");

            using (var readFile = new StreamReader(file.InputStream))
            {
                var csvReader = new CsvReader(readFile);

                //Comeinzo a iterar sobre los datos
                while (csvReader.Read())
                {
                    //Creo la nueva escuela
                    var escuela = new Establecimiento();

                    escuela.Direccion = csvReader.GetField(0); //Domicilio Edificio
                    //csvReader.GetField(1); Domicilio entre calles
                    escuela.Nombre = csvReader.GetField(2).Replace("ş",""); //Nombre del Establecimiento
                    escuela.Codigo = csvReader.GetField(3); //Nombre abreviado
                    escuela.Telefonos = csvReader.GetField(4); //Telefonos
                    escuela.Email = csvReader.GetField(5); //correo_web
                    //csvReader.GetField(6); Nivel y Tipo
                    //csvReader.GetField(7); Dependencia Funcional
                    escuela.Longitud = Convert.ToDouble(csvReader.GetField(8), CultureInfo.InvariantCulture); //Longitud
                    escuela.Latitud = Convert.ToDouble(csvReader.GetField(9), CultureInfo.InvariantCulture); //Latitud
                    escuela.GeoJson = csvReader.GetField(10); //GeoJson

                    //Añado los Tags Correspondientes
                    escuela.Gestion = gestion;

                    if (csvReader.GetField<string>(7).Trim() == "Educ. Tecnica")
                        escuela.Titulo = tecnico;

                    //Itero sobre la lista de nivelesTipos separada por "-"
                    var nivelesTipos = csvReader.GetField(6).Split('-');
                    foreach (var nivelTipoString in nivelesTipos)
                    {
                        var nivelTipoTrim = nivelTipoString.Trim();
                        if (String.IsNullOrWhiteSpace(nivelTipoTrim)) continue;

                        var nivelTipo = new NivelTipo();

                        if (nivelTipoTrim == "Otras")
                        {
                            nivelTipo.NivelEducativo = otras;
                        }
                        else
                        {
                            //Busco el nivel correspondiente
                            var nivel = nivelTipoTrim.Substring(0, 3);
                            switch (nivel)
                            {
                                case "Ini":
                                    nivelTipo.NivelEducativo = inicial;
                                    break;
                                case "Pri":
                                    nivelTipo.NivelEducativo = primario;
                                    break;
                                case "Med":
                                    nivelTipo.NivelEducativo = medio;
                                    break;
                                case "SNU":
                                    nivelTipo.NivelEducativo = superior;
                                    break;
                                default:
                                    throw new DataException("no hay un nivel valido");
                            }
                            //Busco el Tipo de escuela correspondiente
                            var tipo = nivelTipoTrim.Substring(3, 3);
                            switch (tipo)
                            {
                                case "Com":
                                    nivelTipo.TipoDeEstablecimiento = comun;
                                    break;
                                case "Esp":
                                    nivelTipo.TipoDeEstablecimiento = especial;
                                    break;
                                case "Adu":
                                    nivelTipo.TipoDeEstablecimiento = adultos;
                                    break;
                                case "Art":
                                    nivelTipo.TipoDeEstablecimiento = artistico;
                                    break;
                                default:
                                    throw new DataException("no hay un tipo valido");
                            }
                        }
                        escuela.NivelTipo.Add(nivelTipo);
                    }

                    establecimientos.Insert(escuela);
                }
            }
        }
コード例 #3
0
        private void InicializarBaseDeDatos()
        {
            var establecimientos = Database.GetCollection<Establecimiento>("Establecimiento");
            establecimientos.RemoveAll();

            var categoria = Database.GetCollection<Categoria>("Categoria");
            categoria.RemoveAll();

            var tags = Database.GetCollection<Tag>("Tag");
            tags.RemoveAll();

            const string nombreGestion = "Gestion";
            var categoriaCuota = new Categoria { Nombre = nombreGestion, Vista = "Gestión" };
            var publica = new Tag { Valor = "Publica", Vista = "Publica", CategoriaNombre = nombreGestion };
            tags.Insert(publica);
            categoriaCuota.Tags.Add(publica);
            var privada = new Tag { Valor = "Privada", Vista = "Privada", CategoriaNombre = nombreGestion };
            tags.Insert(privada);
            categoriaCuota.Tags.Add(privada);
            categoria.Insert(categoriaCuota);

            const string nombreNivel = "NivelEducativo";
            var categoriaNivel = new Categoria { Nombre = nombreNivel, Vista = "Nivel Educativo" };
            var inicial = new Tag { Valor = "Inicial", Vista = "Inicial", CategoriaNombre = nombreNivel };
            tags.Insert(inicial);
            categoriaNivel.Tags.Add(inicial);
            var primario = new Tag { Valor = "Primario", Vista = "Primario", CategoriaNombre = nombreNivel };
            tags.Insert(primario);
            categoriaNivel.Tags.Add(primario);
            var medio = new Tag { Valor = "Secundario", Vista = "Secundario", CategoriaNombre = nombreNivel };
            tags.Insert(medio);
            categoriaNivel.Tags.Add(medio);
            var superior = new Tag { Valor = "Superior", Vista = "Superior", CategoriaNombre = nombreNivel };
            tags.Insert(superior);
            categoriaNivel.Tags.Add(superior);
            var otras = new Tag { Valor = "Otros", Vista = "Otros", CategoriaNombre = nombreNivel };
            tags.Insert(otras);
            categoriaNivel.Tags.Add(otras);
            categoria.Insert(categoriaNivel);

            const string nombreTitulo = "Titulo";
            var categoriaTitulo = new Categoria { Nombre = nombreTitulo, Vista = "Titulo" };
            var tecnico = new Tag { Valor = "Tecnico", Vista = "Tecnico", CategoriaNombre = nombreTitulo };
            tags.Insert(tecnico);
            categoriaTitulo.Tags.Add(tecnico);
            categoria.Insert(categoriaTitulo);

            const string nombreTipo = "TipoDeEstablecimiento";
            var categoriaTipo = new Categoria { Nombre = nombreTipo, Vista = "Tipo De Establecimiento" };
            var especial = new Tag { Valor = "Especial", Vista = "Especial", CategoriaNombre = nombreTipo };
            tags.Insert(especial);
            categoriaTipo.Tags.Add(especial);
            var comun = new Tag { Valor = "Comun", Vista = "Comun", CategoriaNombre = nombreTipo };
            tags.Insert(comun);
            categoriaTipo.Tags.Add(comun);
            var adultos = new Tag { Valor = "Adultos", Vista = "Adultos", CategoriaNombre = nombreTipo };
            tags.Insert(adultos);
            categoriaTipo.Tags.Add(adultos);
            var artisitco = new Tag { Valor = "Artistico", Vista = "Artistico", CategoriaNombre = nombreTipo };
            tags.Insert(artisitco);
            categoriaTipo.Tags.Add(artisitco);
            categoria.Insert(categoriaTipo);
        }