public ImportadorEscuelas() { OfficeOpenXml.ExcelPackage.LicenseContext = LicenseContext.NonCommercial; FileInfo existingFile = new FileInfo("exeloide.xlsx"); using (ExcelPackage package = new ExcelPackage(existingFile)) { //get the first worksheet in the workbook ExcelWorksheet worksheet = package.Workbook.Worksheets[0]; int colCount = worksheet.Dimension.End.Column; //get Column Count int rowCount = 63331; // worksheet.Dimension.End.Row; //get row count Console.WriteLine($"El Excel tiene {rowCount} filas y {colCount} columnas"); using (EdugeoModel db = new EdugeoModel()) { var escuelas = db.Escuelas.Select(i => i.Nombre).ToList(); for (int row = 1; row <= rowCount; row++) { var provincia = worksheet.Cells[row, JURISDICCION].Value.ToString(); var nombre = worksheet.Cells[row, NOMBRE].Value.ToString(); if (provincia == "Ciudad de Buenos Aires" && escuelas.Contains(nombre) == false) { Escuela escuela = new Escuela(); escuela.Provincia = provincia; escuela.Nombre = nombre; escuela.EsPublico = worksheet.Cells[row, SECTOR].Value.ToString() == "Estatal"; escuela.EsUrbano = worksheet.Cells[row, AMBITO].Value?.ToString() == "Urbano"; escuela.Departamento = worksheet.Cells[row, DEPARTAMENTO].Value.ToString(); escuela.Domicilio = worksheet.Cells[row, DOMICILIO].Value.ToString(); escuela.Email = worksheet.Cells[row, EMAIL].Value?.ToString(); escuela.EdComun = worksheet.Cells[row, EDCOMUN].Value?.ToString() == "1"; escuela.EdEspecial = worksheet.Cells[row, EDESPECIAL].Value?.ToString() == "1"; escuela.EdJovenesAdultos = worksheet.Cells[row, EDJOVENESADULTOS].Value?.ToString() == "1"; escuela.EdArtistica = worksheet.Cells[row, EDARTISTICA].Value?.ToString() == "1"; db.Escuelas.Add(escuela); Console.WriteLine("Agregado " + escuela.Nombre); } } db.SaveChanges(); Console.WriteLine("hay " + db.Escuelas.Count() + " escuelas"); } } }
public ImportadorMarkers() { GoogleMaps maps = new GoogleMaps(); var model = new EdugeoModel(); foreach (var escuela in model.Escuelas.OrderBy(i => i.Id).Include(i => i.GeoMarker).ToList()) { Console.Write(escuela.Nombre + " - " + escuela.Domicilio + " - "); try { if (escuela.GeoMarker == null) { var geocode = maps.GetGeocode("CALLE " + escuela.Domicilio); if (geocode != null && geocode.Results != null && geocode.Results.Count() > 0) { var result = geocode.Results.First(); GeoMarker marker = new GeoMarker(); marker.DireccionFormateada = result.FormattedAddress; marker.Latitud = result.Geometry.Location.Latitude; marker.Longitud = result.Geometry.Location.Longitude; escuela.GeoMarker = marker; model.SaveChanges(); Console.WriteLine(marker.DireccionFormateada); } else { Console.WriteLine(Newtonsoft.Json.JsonConvert.SerializeObject(geocode)); } } else { Console.WriteLine("Ya tiene marker"); } System.Threading.Thread.Sleep(100); } catch (Exception ex) { Console.WriteLine(ex.Message); } } }