public bool Agregar(PermisoBase permiso) { try { return(_mapeador.Agregar(permiso)); } catch (Exception ex) { // REGISTRAR EN BITACORA // Lanzar Exception personalizada throw new Exception("Error en agregar permiso"); } }
public void Agregar(Familia familia, Permiso hijo) { if (familia.Buscar(hijo)) { throw new InvalidOperationException("El permiso que desea agregar ya existe"); } if (hijo.Buscar(familia)) { throw new InvalidCastException("No puede crear dependencias circulares"); } familia.Agregar(hijo); using (IUnitOfWork unitOfWork = UnitOfWorkFactory.Create()) { PermisoDAL permisoDAL = new PermisoDAL(unitOfWork); permisoDAL.Agregar(familia, hijo); unitOfWork.SaveChanges(); } }