예제 #1
0
        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);
        }
예제 #2
0
        public long CreateOrUpdate(TramoDto dto)
        {
            long result = default(long);

            try
            {
                using (var dbContext = new VialidadContext())
                {
                    TramoEntity tramoDb = dbContext.TramoDataSet.AsNoTracking().FirstOrDefault(x =>
                                                                                               x.IdProvincia == dto.IdProvincia &&
                                                                                               x.IdRuta == dto.IdRuta &&
                                                                                               x.TramoNormalizado.ToUpper() == dto.TramoNormalizado.ToUpper());

                    if (tramoDb == null)
                    {
                        tramoDb           = MapDtoToEntity.Map(dto);
                        tramoDb.FechaAlta = DateTime.Now;
                        tramoDb.Activo    = false;

                        dbContext.TramoDataSet.Add(tramoDb);
                    }
                    else
                    {
                        tramoDb.IdCalzada           = dto.IdCalzada;
                        tramoDb.Detalle             = dto.Detalle;
                        tramoDb.Observaciones       = dto.Observaciones;
                        tramoDb.FechaActualizacion  = dto.FechaActualizacion;
                        tramoDb.TramoDesnormalizado = dto.TramoDesnormalizado;

                        var exist = dbContext.Set <TramoEntity>().Find(tramoDb.IdTramo);
                        if (exist != null)
                        {
                            dbContext.Entry <TramoEntity>(exist).CurrentValues.SetValues(tramoDb);
                        }
                    }

                    dbContext.SaveChanges();
                    result = tramoDb.IdTramo;
                }
            }
            catch (DbEntityValidationException ex)
            {
                foreach (var eve in ex.EntityValidationErrors)
                {
                    foreach (var ve in eve.ValidationErrors)
                    {
                        _logger.Error("ServiceTramo.CreateOrUpdate", $"PropertyName: {ve.PropertyName} - ErrorMessage: {ve.ErrorMessage}", ex);
                    }
                }
            }
            catch (Exception ex)
            {
                _logger.Error("ServiceTramo.CreateOrUpdate", ex.Message, ex);
            }
            return(result);
        }