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); }
/// <summary> /// Получить подробную информацию об участнике вызова /// </summary> public static ParticipantInfoDto GetParticipantInfoDto(Domain.Entities.Participant participant) { if (participant == null) { return(null); } var participantInfo = new ParticipantInfoDto { Id = participant.Id, Name = participant.ParticipantName, Extension = participant.ParticipantExtension, ParticipantInfo = GetParticipantInfo(participant) }; if (participant is Domain.Entities.Contact contact) { participantInfo.Name = contact.Name; participantInfo.Organization = contact.Organization; participantInfo.Position = contact.Position; } return(participantInfo); }