public ConferenceResponse Map(ConferenceDetailsResponse conference)
        {
            var response = new ConferenceResponse
            {
                Id                     = conference.Id,
                CaseName               = conference.CaseName,
                CaseNumber             = conference.CaseNumber,
                CaseType               = conference.CaseType,
                ScheduledDateTime      = conference.ScheduledDateTime,
                ScheduledDuration      = conference.ScheduledDuration,
                Status                 = ConferenceHelper.GetConferenceStatus(conference.CurrentStatus),
                Participants           = MapParticipants(conference),
                ClosedDateTime         = conference.ClosedDateTime,
                HearingVenueName       = conference.HearingVenueName,
                AudioRecordingRequired = conference.AudioRecordingRequired,
                HearingRefId           = conference.HearingId,
                Endpoints              = MapEndpoints(conference)
            };

            if (conference.MeetingRoom != null)
            {
                response.ParticipantUri       = conference.MeetingRoom.ParticipantUri;
                response.PexipNodeUri         = conference.MeetingRoom.PexipNode;
                response.PexipSelfTestNodeUri = conference.MeetingRoom.PexipSelfTestNode;

                ParticipantTilePositionHelper.AssignTilePositions(response.Participants);
            }

            return(response);
        }
        public ConferenceResponseVho Map(ConferenceDetailsResponse conference)
        {
            conference.Participants ??= new List <ParticipantDetailsResponse>();

            var participants = conference.Participants
                               .OrderBy(x => x.CaseTypeGroup)
                               .Select(_participantResponseVhoMapper.Map)
                               .ToList();

            var response = new ConferenceResponseVho
            {
                Id                = conference.Id,
                CaseName          = conference.CaseName,
                CaseNumber        = conference.CaseNumber,
                CaseType          = conference.CaseType,
                ScheduledDateTime = conference.ScheduledDateTime,
                ScheduledDuration = conference.ScheduledDuration,
                Status            = ConferenceHelper.GetConferenceStatus(conference.CurrentStatus),
                Participants      = participants,
                ClosedDateTime    = conference.ClosedDateTime,
                HearingVenueName  = conference.HearingVenueName
            };

            if (conference.MeetingRoom == null)
            {
                return(response);
            }

            response.AdminIFrameUri = conference.MeetingRoom.AdminUri;
            response.ParticipantUri = conference.MeetingRoom.ParticipantUri;
            response.PexipNodeUri   = conference.MeetingRoom.PexipNode;

            AssignTilePositions(conference, response);

            return(response);
        }