public void SendNewTopicSubscriptionMail(string forumName, string forumTitle, string forumBody, string topicLink) { var account = new AccountInfo(); var departmentMapping = DepartmentService.GetDepartmentForumMappings(forumName); var result = GetModeratorEmailIds(forumName); var employees = ContactsService.GetByDepartmentOrlocation(departmentMapping); var departmentMails = employees.Aggregate(string.Empty, (current, subscription) => current + "," + subscription.Email); var subscriptionModel = GetAllSubscribedUsers(forumName); var mailIds = subscriptionModel.Aggregate(string.Empty, (current, subscription) => current + "," + subscription.EmployeeEmail); mailIds = mailIds + "," + departmentMails; var distinctWords = new List<string>(mailIds.ToLowerInvariant().Split(',').Distinct()); mailIds = result.Aggregate( distinctWords.Where(t => !string.IsNullOrEmpty(t)).Aggregate(string.Empty, (current, t) => current + "," + t), (current, moderators) => current.Replace("," + moderators.ToLowerInvariant(), string.Empty)); var emailHelper = new EmailHelper(); var paramters = new Dictionary<string, string> { {"ForumName", forumName.Trim()}, {"TopicName", forumTitle.Trim()}, {"TipicLink", topicLink.Trim()}, {"ForumBody", forumBody.Trim()}, {"CreatedBy", account.GetFullName()}, {"Signature", ApplicationConfiguration.EmailSignature} }; if (!string.IsNullOrEmpty(mailIds)) emailHelper.SendBccMail("", mailIds, "NewTopicSubscription", paramters); }
public void SendReplySubscriptionMail(string forumName, string forumTitle, string forumBody, string topicLink) { var account = new AccountInfo(); forumBody = forumBody.Substring(0, 8) + " <b> Reply : </b>" + forumBody.Substring(8, forumBody.Length - 8); var departmentMapping = DepartmentService.GetDepartmentForumMappings(forumName); var employees = ContactsService.GetByDepartmentOrlocation(departmentMapping); var departmentMails = employees.Aggregate(string.Empty, (current, subscription) => current + "," + subscription.Email); var subscriptionModel = GetAllSubscribedUsers(forumName); var mailIds = subscriptionModel.Aggregate(string.Empty, (current, subscription) => current + "," + subscription.EmployeeEmail); mailIds = mailIds + "," + departmentMails; var distinctWords = new List<string>(mailIds.ToLowerInvariant().Split(',').Distinct()); mailIds = distinctWords.Where(t => !string.IsNullOrEmpty(t)).Aggregate(string.Empty, (current, t) => current + "," + t); var emailHelper = new EmailHelper(); var paramters = new Dictionary<string, string> { {"ForumTitle", forumName + " : " +forumTitle.Trim()}, {"ForumBody", forumBody.Trim()}, {"PostedBy", account.GetFullName()}, {"TipicLink", topicLink.Trim()}, {"Signature", ApplicationConfiguration.EmailSignature} }; if (!string.IsNullOrEmpty(mailIds)) emailHelper.SendBccMail("", mailIds, "CommentsSubscription", paramters); }
public void SendNewTopicMailToModerator(string topicForumPath, string topicTitle, string topicBody, string topicForum, string topicLink) { var account = new AccountInfo(); var result = GetModeratorEmailIds(topicForumPath); var moderatorEmails = string.Join(",", result); var sendMail = new EmailHelper(); var paramters = new Dictionary<string, string> { {"TopicTitle", topicTitle.Trim()}, {"TopicBody", topicBody.Trim()}, {"TipicLink", topicLink.Trim()}, {"TopicForum", topicForum }, {"Requestor", account.GetFullName()}, {"Signature", ApplicationConfiguration.EmailSignature} }; if (!string.IsNullOrEmpty(moderatorEmails)) sendMail.SendBccMail("", moderatorEmails, "ForumNewTopicRequest", paramters); }