public async Task NotifyAppFileEntryChange(AppFileEntryChangeRequest request) { if (request == null) { throw new HubException("Solicitud no válida"); } var classRoomName = request.ClassRoomName; var changes = request.Changes; try { if (!ClassroomRepository.TryGetClassroom(classRoomName, out var classroom)) { throw new HubException("Sala no encontrada"); } // Notificar a los clientes de la clase el cambio await Clients .Group(classroom.Name) .NewAppFileEntryChanges(changes); // Actualiza las entidades de archivo de la clase classroom .UpdateAppFileEntries(changes); Logger.LogDebug("Registrado cambio {Classroom} {@Changes} ", classRoomName, changes); } catch (Exception ex) when(ex is not HubException) { Logger.LogError(ex, "No fue posible registar el cambio {Classroom} {@Changes} ", classRoomName, changes); } }