public void NormalizeDb() { IServiceTramo serviceTramo = new ServiceTramo(); IEnumerable <TramoDto> tramos = serviceTramo.GetAll(); foreach (var itemTramo in tramos) { itemTramo.TramoNormalizado = NormalizerTramo.Normalize(itemTramo.TramoNormalizado); serviceTramo.CreateOrUpdate(itemTramo); } }
public void Download() { DataProviderBase dataSource = DataProviderFactory.GetInstance(_dataProviderType); //Obtenemos informacion del origen de datos List <TramoImport> info = dataSource.GetInfo(); //Ordenamos la información info = info .OrderBy(x => x.Provincia) .ThenBy(x => x.Ruta) .ThenBy(x => x.TramoNormalizado) .ToList(); //Normalizamos la información info.ForEach(x => x.TramoNormalizado = NormalizerTramo.Normalize(x.TramoNormalizado)); //Eliminamos duplicados info = info.Distinct(new ItemRutaComparer()).ToList(); //Grabamos la información SaveData(info); }
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); }