public int Create(ProvinciaDto dto) { int result = default(int); try { string key = NormalizerKey.Normalize(dto.Nombre); ProvinciaEntity provinciaDb = _dbContext.ProvinciaDataSet.FirstOrDefault(x => x.Key == key); if (provinciaDb != null) { return(result); } provinciaDb = MapDtoToEntity.Map(dto); _dbContext.ProvinciaDataSet.Add(provinciaDb); _dbContext.SaveChanges(); result = provinciaDb.IdProvincia; } catch (DbEntityValidationException ex) { foreach (var eve in ex.EntityValidationErrors) { foreach (var ve in eve.ValidationErrors) { _logger.Error("ServiceProvincia.CreateOrUpdate", $"PropertyName: {ve.PropertyName} - ErrorMessage: {ve.ErrorMessage}", ex); } } } catch (Exception ex) { _logger.Error("ServiceProvincia.Create", ex.Message, ex); } return(result); }
public IHttpActionResult GetAllByRuta(int idRuta) { IEnumerable <ProvinciaDto> provincias = _serviceProvincia.GetAllByRuta(idRuta); IEnumerable <DropDownItemModel> provinciasVM = MapDtoToViewModel.Map(provincias); provinciasVM = provinciasVM.Where(x => NormalizerKey.Normalize(x.Nombre) != "bahia-blanca"); Result result = new Result(provinciasVM); return(result.CreateResponse(this)); }
public IHttpActionResult GetAllInfo() { IEnumerable <ProvinciaDto> provincias = _serviceProvincia.GetAll(false); IEnumerable <InfoMapModel> provinciasVM = MapDtoToViewModel.MapInfo(provincias); provinciasVM = provinciasVM.Where(x => NormalizerKey.Normalize(x.Nombre) != "bahia-blanca"); Result result = new Result(provinciasVM); return(result.CreateResponse(this)); }
public static List <ReferenciaModel> GetListReferencias(this TramoDto dto, IEnumerable <ReferenciaDto> referencias) { var result = new List <ReferenciaModel>(); var detalleFull = $"{dto.Detalle} {dto.Observaciones}"; detalleFull = NormalizerKey.Normalize(detalleFull); foreach (var itemReferencia in referencias) { if (string.IsNullOrEmpty(itemReferencia.PalabrasClaves)) { continue; } var keys = itemReferencia.PalabrasClaves.Split('|'); foreach (var itemKey in keys) { if (!detalleFull.Contains(itemKey)) { continue; } var referenciaExists = result.FirstOrDefault(x => x.ImageName == itemReferencia.Imagen); if (referenciaExists == null) { var imageName = itemReferencia.Imagen; if (imageName.EndsWith(".png")) { imageName = imageName.Split('.')[0]; imageName = $"{imageName}_transparent.png"; } var imagePath = $"images/referencias/{itemReferencia.Tipo.ToLower()}/{imageName}"; var referenciaToAdd = new ReferenciaModel(); referenciaToAdd.ImageName = itemReferencia.Imagen; referenciaToAdd.ImagePath = imagePath; referenciaToAdd.ImageDesc = itemReferencia.Nombre; referenciaToAdd.ImageWidth = itemReferencia.Ancho; referenciaToAdd.ImageHeight = itemReferencia.Alto; result.Add(referenciaToAdd); } else if (!referenciaExists.ImageDesc.Contains(itemReferencia.Nombre)) { referenciaExists.ImageDesc = $"{referenciaExists.ImageDesc} - {itemReferencia.Nombre}"; } } } return(result); }
public override void SaveData(List<TramoImport> info) { var provincias = _serviceProvincia.GetAll(false); var rutas = _serviceRuta.GetAll(false); var calzadas = _serviceCalzada.GetAll(false); foreach (var itemTramo in info) { if (string.IsNullOrEmpty(itemTramo.TramoDesnormalizado)) continue; try { //Verificamos información de la provincia var provinciaKey = NormalizerKey.Normalize(itemTramo.Provincia); if (provinciaKey == "bahia-blanca") provinciaKey = "buenos-aires"; var provinciaDto = provincias.SingleOrDefault(x => x.Key == provinciaKey); if (provinciaDto == null) { provinciaDto = new ProvinciaDto(); provinciaDto.Nombre = itemTramo.Provincia; provinciaDto.Key = provinciaKey; provinciaDto.Id = _serviceProvincia.Create(provinciaDto); } //Verificamos información de la ruta var rutaKey = NormalizerKey.Normalize(itemTramo.Ruta); var rutaDto = rutas.SingleOrDefault(x => x.Key == rutaKey); if (rutaDto == null) { rutaDto = new RutaDto(); rutaDto.Nombre = itemTramo.Ruta; rutaDto.Key = rutaKey; rutaDto.Id = _serviceRuta.Create(rutaDto); } //Verificamos información de la calzada var calzadaKey = NormalizerKey.Normalize(itemTramo.Calzada); if (calzadaKey.StartsWith("pavimento-flexible")) calzadaKey = "pavimento-flexible"; var calzadaDto = calzadas.SingleOrDefault(x => x.Key == calzadaKey); if (calzadaDto == null) { if (!string.IsNullOrEmpty(itemTramo.Calzada)) { calzadaDto = new CalzadaDto(); calzadaDto.Nombre = itemTramo.Calzada; calzadaDto.Key = calzadaKey; calzadaDto.Id = _serviceCalzada.Create(calzadaDto); } else { //Valor default calzadaDto = new CalzadaDto(); calzadaDto.Id = 1; } } //Mapeamos dto TramoDto tramoDto = new TramoDto(); tramoDto.IdProvincia = provinciaDto.Id; tramoDto.IdRuta = rutaDto.Id; tramoDto.IdCalzada = calzadaDto.Id; tramoDto.TramoNormalizado = itemTramo.TramoNormalizado; tramoDto.TramoDesnormalizado = itemTramo.TramoDesnormalizado; tramoDto.Detalle = itemTramo.Detalle; tramoDto.Observaciones = itemTramo.Observaciones; tramoDto.FechaActualizacion = itemTramo.Actualizacion; tramoDto.Coordenadas = itemTramo.Coordenadas; //Grabamos información del tramo _serviceTramo.CreateOrUpdate(tramoDto); } catch (Exception ex) { _logger.Error("DownloadDb.SaveData", ex.Message, ex); } } _logger.Info("DownloadDb.SaveData", $"{info.Count} registros grabados."); }