private void UpdateStatus() { if (Status != RoomStatus.Closed && !RoomParticipants.Any() && !RoomEndpoints.Any() && IsCloseableRoom()) { Status = RoomStatus.Closed; } }
public void AddParticipant(RoomParticipant participant) { if (!DoesParticipantExist(participant)) { RoomParticipants.Add(participant); } }
public void RemoveParticipant(RoomParticipant participant) { if (DoesParticipantExist(participant)) { var existingParticipant = RoomParticipants.Single(x => x.ParticipantId == participant.ParticipantId); RoomParticipants.Remove(existingParticipant); UpdateStatus(); } }
public bool DoesParticipantExist(RoomParticipant participant) { return(RoomParticipants.Any(x => x.ParticipantId == participant.ParticipantId)); }