public int Create(RutaDto dto)
        {
            int result = default(int);

            try
            {
                string     key    = NormalizerKey.Normalize(dto.Nombre);
                RutaEntity rutaDb = _dbContext.RutaDataSet.FirstOrDefault(x => x.Key == key);
                if (rutaDb == null)
                {
                    return(result);
                }

                rutaDb = MapDtoToEntity.Map(dto);
                _dbContext.RutaDataSet.Add(rutaDb);
                _dbContext.SaveChanges();

                result = rutaDb.IdRuta;
            }
            catch (DbEntityValidationException ex)
            {
                foreach (var eve in ex.EntityValidationErrors)
                {
                    foreach (var ve in eve.ValidationErrors)
                    {
                        _logger.Error("ServiceRuta.CreateOrUpdate", $"PropertyName: {ve.PropertyName} - ErrorMessage: {ve.ErrorMessage}", ex);
                    }
                }
            }
            catch (Exception ex)
            {
                _logger.Error("ServiceRuta.Create", ex.Message, ex);
            }
            return(result);
        }
        public int Create(RutaDto dto)
        {
            int result = _service.Create(dto);

            SimpleCache.CleanCache();
            return(result);
        }
Example #3
0
        public static DropDownItemModel Map(RutaDto entidadDto)
        {
            var model = new DropDownItemModel();

            model.Id     = entidadDto.Id.ToString();
            model.Nombre = entidadDto.Nombre;
            return(model);
        }
Example #4
0
        public static InfoMapModel MapInfo(RutaDto entidadDto)
        {
            var model = new InfoMapModel();

            model.Id          = entidadDto.Id.ToString();
            model.Nombre      = entidadDto.Nombre;
            model.Zoom        = entidadDto.ZoomInicial.GetValueOrDefault(5);
            model.Coordenadas = MapCoordenada(entidadDto.Coordenadas);
            return(model);
        }
Example #5
0
        public static RutaEntity Map(RutaDto entidadDto)
        {
            var entity = new RutaEntity();

            entity.IdRuta      = entidadDto.Id;
            entity.Nombre      = entidadDto.Nombre;
            entity.Key         = entidadDto.Key;
            entity.Coordenadas = entidadDto.Coordenadas;
            entity.ZoomInicial = entidadDto.ZoomInicial;
            return(entity);
        }
        public static RutaDto Map(RutaEntity entity)
        {
            var entityDto = new RutaDto();

            entityDto.Id          = entity.IdRuta;
            entityDto.Nombre      = entity.Nombre;
            entityDto.Key         = entity.Key;
            entityDto.Coordenadas = entity.Coordenadas;
            entityDto.ZoomInicial = entity.ZoomInicial;
            return(entityDto);
        }
        public RutaDto GetByKey(string key)
        {
            RutaDto result = null;

            try
            {
                RutaEntity rutaDb = _dbContext.RutaDataSet.FirstOrDefault(x => x.Key == key);
                if (rutaDb != null)
                {
                    result = MapEntityToDto.Map(rutaDb);
                }
            }
            catch (Exception ex)
            {
                _logger.Error("ServiceRuta.GetByKey", ex.Message, ex);
            }
            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.");
        }