public virtual ActionResult TagEmails(string Emails) { List<string> mls = Emails.SplitToList(" ,;"); var emails = new TagEmailsModel() { Emails = Emails, EmailTagsToAdd = new EmailTagListModel(crmService.GetDistinctTags().Select(t => new TagString() { TagSpace = t.Tagspace, Tag = t.Tag }).ToList()), EmailTagsToRemove = new EmailTagListModel(crmService.GetDistinctTags().Select(t => new TagString() { TagSpace = t.Tagspace, Tag = t.Tag }).ToList()), EmailTagsUsed = new EmailTagListModel(crmService.GetTagsForEmails(mls).Distinct().ToList()) }; return View(emails); }
public virtual ActionResult SaveTaggedEmails(string Emails, List<string> EmailTagsToAdd, List<string> EmailTagsToRemove) { List<string> mls = Emails.SplitToList(" ,"); foreach (var mail in mls) { if (mail.Empty()) continue; var m = crmService.Email(mail); if (m==null) continue; if (EmailTagsToRemove != null) { foreach (var stag in EmailTagsToRemove) { var tag = new TagString(stag); crmService.ClearTagForEmail(m, tag.TagSpace, tag.Tag); } } if (EmailTagsToAdd != null) { foreach (var stag in EmailTagsToAdd) { var tag = new TagString(stag); m.SetTag(tag.TagSpace, tag.Tag); } } } crmService.SaveChanges(); var emails = new TagEmailsModel() { Emails = Emails, EmailTagsToAdd = new EmailTagListModel(crmService.GetDistinctTags().Select(t => new TagString() { TagSpace = t.Tagspace, Tag = t.Tag }).ToList()), EmailTagsToRemove = new EmailTagListModel(crmService.GetDistinctTags().Select(t => new TagString() { TagSpace = t.Tagspace, Tag = t.Tag }).ToList()), EmailTagsUsed = new EmailTagListModel(crmService.GetTagsForEmails(mls)) }; return View("TagEmails", emails); }