public IActionResult GlobalEmail(GlobalEmailViewModel model) { if (ModelState.IsValid) { IDictionary <string, string> users = new Dictionary <string, string>(); IList <string> excludedDomains = model.ExcludedDomains.Where(ed => ed.Value).Select(ed => ed.Key).ToList(); foreach (var user in _userManager.Users) { bool send = true; foreach (var domain in excludedDomains) { if (user.Email.Contains(domain)) { send = false; break; } } if (send) { users.Add(user.Email, user.UserName); } } Task.Run(() => _emailService.SendGlobalMessage(users, model.Message.Replace("\r\n", "<br/>"), model.Subject)); return(RedirectToAction("UsersList", "UserAdmin")); } GetDomains(model); return(View(model)); }
public IActionResult GlobalEmail() { var model = new GlobalEmailViewModel() { Subject = string.Empty, Message = string.Empty, }; GetDomains(model); return(View(model)); }
private void GetDomains(GlobalEmailViewModel model) { var excludeDomains = new Dictionary <string, bool>(); var emails = _userManager.Users .Select(u => u.Email) .Distinct() .ToList(); foreach (var email in emails) { var domain = email.Substring(email.LastIndexOf('@') + 1); if (!string.IsNullOrEmpty(domain)) { if (!excludeDomains.ContainsKey(domain)) { excludeDomains.Add(domain, false); } } } model.ExcludedDomains = excludeDomains; }