public async Task SendJudgeConfirmationEmail(HearingDetailsResponse hearing) { var hearings = await _bookingsApiClient.GetHearingsByGroupIdAsync(hearing.GroupId.Value); AddNotificationRequest request; if (hearings.Count == 1) { var judge = hearing.Participants .First(x => x.UserRoleName.Contains("Judge", StringComparison.CurrentCultureIgnoreCase)); request = AddNotificationRequestMapper.MapToHearingConfirmationNotification(hearing, judge); } else { var firstHearingForGroup = hearings.First(); if (firstHearingForGroup.Id != hearing.Id) { return; } var judge = firstHearingForGroup.Participants.First(x => x.UserRoleName.Contains("Judge", StringComparison.CurrentCultureIgnoreCase)); request = AddNotificationRequestMapper.MapToMultiDayHearingConfirmationNotification(firstHearingForGroup, judge, hearings.Count); } if (request.ContactEmail != null) { await _notificationApiClient.CreateNewNotificationAsync(request); } }