public async Task ExecuteAsync(StudyRoomSessionParticipantDisconnectedCommand message, CancellationToken token)
        {
            var studyRoom = await _studyRoomRepository.LoadAsync(message.RoomId, token);

            var studyRoomSession = studyRoom.GetCurrentSession();

            if (studyRoomSession == null)
            {
                return;
            }

            var sessionParticipant = studyRoomSession.ParticipantDisconnections.FirstOrDefault();


            if (sessionParticipant == null)
            {
                var sessionDisconnect = new SessionParticipantDisconnect(studyRoomSession);
                await _sessionDisconnectRepository.AddAsync(sessionDisconnect, token);
            }
        }
示例#2
0
 public SessionParticipantDisconnectEvent(SessionParticipantDisconnect sessionDisconnect)
 {
     SessionDisconnect = sessionDisconnect;
 }