private async Task <Result <CallRecordInfoDto> > GetParticipantRecordInfo(
            List <CallTimeInfoClientDto> participantCalls,
            AudioRecordClientDto participantRecord,
            AudioRecordClientDto fullRecord)
        {
            var participantCallInfo = participantCalls.FirstOrDefault(x => x.CallId == participantRecord.CallId);

            if (participantCallInfo == null)
            {
                _logger.Warning($"GenerateParticipantsList. Participant call not found. CallId: {participantRecord.CallId}");
                return(Result.Failure <CallRecordInfoDto>(ErrorCodes.UnableToGetAudioRecords));
            }

            var participant = await GetParticipant(participantCallInfo.ParticipantId.Value);

            var participantInfo = ParticipantInfoCreator.GetParticipantInfoDto(participant);

            FillParticipantTimeStamps(participantInfo, participantRecord, fullRecord);

            var participantRecordInfo = new CallRecordInfoDto
            {
                Id = participantRecord.Id,
                ParticipantInfo = participantInfo,
                IsEmercoreUser  = participant is User,
                CallId          = participantCallInfo.CallId,
                IsFullRecord    = false
            };

            return(Result.Success(participantRecordInfo));
        }
        private void FillParticipantTimeStamps(
            ParticipantInfoDto participantInfo,
            AudioRecordClientDto participantRecord,
            AudioRecordClientDto fullCallRecord)
        {
            var startFullRecordTime = fullCallRecord.RecordingStartTime;
            var endFullRecordTime   = fullCallRecord.RecordingEndTime;

            var startRecordDateTime = participantRecord.RecordingStartTime < startFullRecordTime ? startFullRecordTime : participantRecord.RecordingStartTime;
            var endRecordDateTime   = participantRecord.RecordingEndTime > endFullRecordTime ? endFullRecordTime : participantRecord.RecordingEndTime;

            var start = startRecordDateTime - startFullRecordTime;

            participantInfo.StartCallTime = FormatCallTime(start);

            var duration = endRecordDateTime - startRecordDateTime;
            var end      = start + duration;

            participantInfo.EndCallTime = FormatCallTime(end);
        }