public void CloseConference()
        {
            ClosedDateTime = DateTime.UtcNow;

            State = ConferenceState.Closed;
            ConferenceStatuses.Add(new ConferenceStatus(ConferenceState.Closed));
        }
        public void UpdateConferenceStatus(ConferenceState status)
        {
            if (status == ConferenceState.NotStarted)
            {
                throw new DomainRuleException(nameof(status), "Cannot set conference status to 'Not Started'");
            }

            if (status == ConferenceState.InSession && !ActualStartTime.HasValue)
            {
                ActualStartTime = DateTime.UtcNow;
            }

            if (status == ConferenceState.Closed)
            {
                ClosedDateTime = DateTime.UtcNow;
            }

            State = status;
            ConferenceStatuses.Add(new ConferenceStatus(status));
        }