Ejemplo n.º 1
0
 Task IDepartamentosRepository.DeleteById(int id)
 {
     try
     {
         using (var dbContext = new DepartamentosDbContext(_connectionString))
         {
             var field = dbContext.Departamentos.Find(id);
             dbContext.Departamentos.Remove(field);
             //dbContext.Entry(field).State = System.Data.Entity.EntityState.Deleted;
             dbContext.SaveChanges();
         }
         return(Task.CompletedTask);
     }
     catch (Exception ex)
     {
         if (ex.InnerException.GetType() == typeof(SqlException))
         {
             SqlException innerException = ex.InnerException as SqlException;
             if (innerException.Number == 2627)
             {
                 throw new DuplicateItemException();
             }
         }
         throw;
     }
 }
Ejemplo n.º 2
0
 Task IDepartamentosRepository.Update(Departamento updatedObj)
 {
     try
     {
         using (var dbContext = new DepartamentosDbContext(_connectionString))
         {
             var field = dbContext.Departamentos.Find(updatedObj.Id);
             field.nombre = updatedObj.Nombre;
             field.activo = updatedObj.Activo;
             dbContext.Entry(field).State = System.Data.Entity.EntityState.Modified;
             dbContext.SaveChanges();
         }
         return(Task.CompletedTask);
     }
     catch (Exception ex)
     {
         if (ex.InnerException.GetType() == typeof(SqlException))
         {
             SqlException innerException = ex.InnerException as SqlException;
             if (innerException.Number == 2627)
             {
                 throw new DuplicateItemException();
             }
         }
         throw;
     }
 }
Ejemplo n.º 3
0
        async Task <IEnumerable <Departamento> > IDepartamentosRepository.ReadAll()
        {
            using (var dbContext = new DepartamentosDbContext(_connectionString))
            {
                var result = from obj in dbContext.Departamentos
                             select new Departamento
                {
                    Id     = obj.iddepartamento,
                    Nombre = obj.nombre,
                    Activo = obj.activo
                };

                return(await Task.Run(() => result.ToList()));
            }
        }
Ejemplo n.º 4
0
        async Task <Departamento> IDepartamentosRepository.ReadById(int id)
        {
            using (var dbContext = new DepartamentosDbContext(_connectionString))
            {
                var result = (from obj in dbContext.Departamentos
                              where obj.iddepartamento == id
                              select new Departamento
                {
                    Id = obj.iddepartamento,
                    Nombre = obj.nombre,
                    Activo = obj.activo
                });

                return(result.FirstOrDefault());
            }
        }
Ejemplo n.º 5
0
 Task IDepartamentosRepository.Create(Departamento newObj)
 {
     try
     {
         using (var dbContext = new DepartamentosDbContext(_connectionString))
         {
             // Esta validación permite controlar si el nombre del producto no existe en la
             // base de datos, ya que por regla de negocio, no deben existir nombres de productos
             // iguales.
             if (!dbContext.Departamentos.Any(d => d.nombre == newObj.Nombre))
             {
                 DepartamentosDao newField = new DepartamentosDao()
                 {
                     nombre = newObj.Nombre,
                     activo = newObj.Activo
                 };
                 dbContext.Departamentos.Add(newField);
                 dbContext.SaveChanges();
             }
             else
             {
                 throw new DuplicateItemException();
             }
         }
         return(Task.CompletedTask);
     }
     catch (Exception ex)
     {
         if (ex.InnerException.GetType() == typeof(SqlException))
         {
             SqlException innerException = ex.InnerException as SqlException;
             if (innerException.Number == 2627)
             {
                 throw new DuplicateItemException();
             }
         }
         throw;
     }
 }