async Task <ModelList <RecipientUser> > GetRecipientsMessagesAsync(DB db, Publipostage item) { var recipients = await GetRecipientsAsync(db, item); var compactRecipients = new ModelList <RecipientUser>(); // generate HTML message for all recipients foreach (var recipient in recipients) { GenerateHtmlMessage(item.message, recipient); } // if a recipient user will received several times the same message remove the duplicates foreach (var recipient in recipients) { if (!compactRecipients.Any((arg) => (arg.user.id == recipient.user.id) && (arg.message == recipient.message))) { compactRecipients.Add(recipient); } } return(compactRecipients); }