static private HashSet<string> GetSubjectsAddresses(
string channelName,
IEnumerable<SubjectDto> subjects,
IReadOnlyDictionary<string, ChannelSettingsDto> channelSettings)
{
var subjectTypeSettings = channelSettings[channelName].SubjectTypeSettings;
var addresses = new HashSet<string>();
foreach (var subject in subjects)
{
if (!subjectTypeSettings.TryGetValue(subject.Type.Id, out var value)) continue;
if (subject.CustomFields.FieldValues.TryGetValue(value, out var to))
{
var address = to.ToString();
if (address.IsNotNullOrEmpty())
addresses.Add(address);
}
}
return addresses;
} static private HashSet<string> GetSubjectsAddresses(
string channelName,
IEnumerable<SubjectDto> subjects,
IReadOnlyDictionary<string, ChannelSettingsDto> channelSettings)
{
var subjectTypeSettings = channelSettings[channelName].SubjectTypeSettings;
var addresses = new HashSet<string>();
foreach (var subject in subjects)
{
if (!subjectTypeSettings.TryGetValue(subject.Type.Id, out var value)) continue;
if (subject.CustomFields.FieldValues.TryGetValue(value, out var to))
{
var address = to.ToString();
if (address.IsNotNullOrEmpty())
addresses.Add(address);
}
}
return addresses;
}