private StartClassroomRequest CreateStartClassroomRequest() { var classroomName = _sessionService .ClassroomName; var rootPath = _sessionService .BaseDirectoryPath; var appFileEntries = _logicAppFileEntryBuilder .Build(rootPath); var appFileEntriesDto = appFileEntries .Select(AppFileEntryMapper.MapToAppFileDto) .ToList(); var request = new StartClassroomRequest(classroomName, appFileEntriesDto); return(request); }
public bool StartClassroom(StartClassroomRequest request) { if (request == null) { return(false); } var classroomName = request.ClassroomName; var appFileEntries = request.AppFileEntries; try { var teacherConnectionId = Context.ConnectionId; ClassroomRepository.AddOrUpdate(classroomName, teacherConnectionId, appFileEntries); // Notificar a los estudiantes del inicio de la clase Clients .Group(classroomName) .ClassroomHasStarted(); Logger.LogInformation("Clase iniciada {Classroom}", classroomName); return(true); } catch (Exception ex) when(ex is not HubException) { Logger.LogError(ex, "No fue posible iniciar la clase {Classroom}", classroomName); return(false); } }