public override List <TramoImport> GetInfo() { var items = new List <TramoImport>(); try { for (int iPos = 0; iPos <= 31; iPos++) { string url = _Url; if (iPos > 0) { url = $"{url}&page={iPos}"; } WebClient wc = new WebClient(); byte[] response = wc.DownloadData(url); string htmlContent = Encoding.UTF8.GetString(response); if (string.IsNullOrEmpty(htmlContent)) { continue; } HtmlDocument htmlDocument = new HtmlDocument(); htmlDocument.LoadHtml(htmlContent); List <HtmlNode> rows = htmlDocument.DocumentNode.Descendants("tr").ToList(); foreach (HtmlNode itemRow in rows) { List <HtmlNode> cols = itemRow.Descendants("td").ToList(); if (cols.Count == 0) { continue; } TramoImport itemToAdd = new TramoImport(); itemToAdd.Provincia = cols[0].InnerText.Trim(); itemToAdd.Ruta = cols[1].InnerText.Trim(); itemToAdd.TramoNormalizado = cols[2].InnerText.Trim(); itemToAdd.TramoDesnormalizado = cols[2].InnerText.Trim(); itemToAdd.Calzada = cols[3].InnerText.Trim(); itemToAdd.Detalle = cols[4].InnerText.Trim(); itemToAdd.Observaciones = cols[5].InnerText.Trim(); itemToAdd.Actualizacion = cols[6].InnerText.Trim().StrToDateTime(); items.Add(itemToAdd); } } _logger.Info("DataProviderVialidad.GetInfo", $"{items.Count} registros obtenidos."); } catch (Exception ex) { _logger.Error("DataProviderVialidad.GetInfo", ex.Message, ex); } return(items); }
public override List <TramoImport> GetInfo() { var items = new List <TramoImport>(); try { WebClient wc = new WebClient(); byte[] response = wc.DownloadData(_Url); string jsonContent = Encoding.UTF8.GetString(response); if (string.IsNullOrEmpty(jsonContent)) { return(items); } JObject jsonObj = JObject.Parse(jsonContent); JToken rows = jsonObj["feed"]["entry"]; foreach (var itemRow in rows) { TramoImport itemToAdd = new TramoImport(); itemToAdd.Provincia = GetValue(itemRow, "provincia"); if (itemToAdd.Provincia.ToUpper() == "SANTA CRUZ") { } itemToAdd.Ruta = GetValue(itemRow, "ruta"); itemToAdd.TramoNormalizado = GetValue(itemRow, "tramo"); itemToAdd.TramoDesnormalizado = GetValue(itemRow, "tramo"); itemToAdd.Calzada = GetValue(itemRow, "calzada"); itemToAdd.Detalle = GetValue(itemRow, "detalle"); itemToAdd.Observaciones = GetValue(itemRow, "observaciones"); itemToAdd.Actualizacion = GetValueDateTime(itemRow, "actualizacion"); //Hay algún error con la fecha de actualización if (itemToAdd.Actualizacion == DateTime.MinValue) { itemToAdd.Actualizacion = GetValueDateTime(itemRow, "_ckd7g"); } items.Add(itemToAdd); } _logger.Info("DataProviderGoogle.GetInfo", $"{items.Count} registros obtenidos."); } catch (Exception ex) { _logger.Error("DataProviderGoogle.GetInfo", ex.Message, ex); } return(items); }
public void ImportToDb() { var items = new List <TramoImport>(); try { string[] fileEntries = Directory.GetFiles(@"C:\Tempo\Files"); foreach (var item in fileEntries) { HSSFWorkbook hssfwb; using (FileStream file = new FileStream(@"C:\Tempo\Files\" + item, FileMode.Open, FileAccess.Read)) { hssfwb = new HSSFWorkbook(file); } ISheet sheet = hssfwb.GetSheet("rutas"); for (int row = 0; row <= sheet.LastRowNum; row++) { if (sheet.GetRow(row) == null) { continue; } if (sheet.GetRow(row).GetCell(0) == null) { continue; } if (sheet.GetRow(row).GetCell(0).StringCellValue == "Provincia") { continue; } if (sheet.GetRow(row).GetCell(0).StringCellValue == "") { continue; } TramoImport itemToAdd = new TramoImport(); itemToAdd.Provincia = sheet.GetRow(row).GetCell(0).StringCellValue; itemToAdd.Ruta = sheet.GetRow(row).GetCell(1).StringCellValue; itemToAdd.TramoNormalizado = sheet.GetRow(row).GetCell(2).StringCellValue; itemToAdd.TramoDesnormalizado = sheet.GetRow(row).GetCell(2).StringCellValue; itemToAdd.Calzada = sheet.GetRow(row).GetCell(3).StringCellValue; itemToAdd.Detalle = sheet.GetRow(row).GetCell(4).StringCellValue; if (sheet.GetRow(row).GetCell(5) != null) { itemToAdd.Observaciones = sheet.GetRow(row).GetCell(5).StringCellValue; } if (sheet.GetRow(row).GetCell(6) != null) { itemToAdd.Actualizacion = sheet.GetRow(row).GetCell(6).StringCellValue.StrToDateTime(); } if (sheet.GetRow(row).GetCell(7) != null) { itemToAdd.Coordenadas = sheet.GetRow(row).GetCell(7).StringCellValue; } //Normalizamos la información del tramos itemToAdd.TramoNormalizado = NormalizerTramo.Normalize(itemToAdd.TramoNormalizado); var tramoExiste = items.FirstOrDefault(x => x.Provincia.ToUpper() == itemToAdd.Provincia.ToUpper() && x.Ruta.ToUpper() == itemToAdd.Ruta.ToLower() && x.TramoNormalizado.ToUpper() == itemToAdd.TramoNormalizado.ToUpper()); if (tramoExiste == null) { items.Add(itemToAdd); } else { tramoExiste.Calzada = itemToAdd.Calzada; tramoExiste.Detalle = itemToAdd.Detalle; tramoExiste.Observaciones = itemToAdd.Observaciones; tramoExiste.Actualizacion = itemToAdd.Actualizacion; } } } } catch (Exception ex) { _logger.Error("ImportFromExcel.ImportToDb", ex.Message, ex); } //Grabamos en el repositorio que deseamos _downloader.SaveData(items); }