Beispiel #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;
     }
 }
Beispiel #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;
     }
 }
Beispiel #3
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;
     }
 }