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); }
private void SendStatusUpdateEmail(ViewModel.UpcomingEvents businessUpdate, string recieverName, bool isCreated, string name) { //Send email //to do take this method out var users = ContactsService.GetPhoneBookList().Where(x => x.Email != String.Empty).OrderBy(x => x.AccountId).ToList(); var recieverEmail = users.FirstOrDefault(x => x.Name.ToLower() == recieverName.ToLower()).Email; var type = isCreated ? "A new update has been added " : "Existing update has been modified"; var paramters = new Dictionary<string, string> { {"CreatedBy",name}, {"ForCreateOrUpdate",type}, {"Title",businessUpdate.Title}, {"StartTime",businessUpdate.EventTime}, {"EventDate",businessUpdate.Date.ToShortDateString()}, {"Location",businessUpdate.Location}, {"Organiser",businessUpdate.Organizers}, {"Venue",businessUpdate.Venue}, {"Duration",businessUpdate.Duration.ToString()}, {"StartDate",businessUpdate.StartDate.ToShortDateString()}, {"EndDate",businessUpdate.EndDate.ToShortDateString()}, {"ModuleName","Event"}, {"ApproverName",businessUpdate.ApproverName}, {"ModuleUrl",ApplicationConfiguration.ApplicationWebUrl+"/Administration/Event"}, {"NotifyUrl",ApplicationConfiguration.ApplicationWebUrl+"/Administration/Notification"}, {"Signature", ApplicationConfiguration.EmailSignature} }; if (businessUpdate.IsApproved) { paramters.Add("appUrl", ApplicationConfiguration.ApplicationWebUrl); } var emailHelper = new EmailHelper(); emailHelper.SendMail("", recieverEmail, !businessUpdate.IsApproved ? "EventCreationMail" : "EventApproverMail", paramters); }
public HttpResponseMessage SendMailForForumSummary() { try { ForumSummaryService = new ForumSummaryService(); var forumsList = ForumSummaryService.GetAllForumSummary().OrderByDescending(a => a.CreatedDate).ToList(); ; var forumBody = string.Empty; foreach (var forumSummary in forumsList) { var path = ApplicationConfiguration.ApplicationWebUrl + "/Forums/CommentList?strId=" + forumSummary.strId + "&LibraryName=" + HttpUtility.UrlEncode(forumSummary.LibraryName.Replace("/", "_")) + "&ParentFolderPath=" + HttpUtility.UrlEncode(forumSummary.ParentFolderPath) + "&topicName=" + HttpUtility.UrlEncode(forumSummary.TopicName) + ""; forumBody = forumBody + "<tr><td>" + forumSummary.LibraryName + " <b><a href=" + path + ">" + forumSummary.TopicName + "</a></b></td></tr>"; forumBody = forumBody + "<tr><td>Added By <b>" + forumSummary.CreatedBy + "</b> on <b>" + forumSummary.CreatedDate + "</b></td></tr>"; if (forumSummary.CommentCount == 1) { forumBody = forumBody + "<tr><td><b>" + forumSummary.CommentCount + "</b> comment added </td></tr><tr><td><hr></td></tr>"; } else if (forumSummary.CommentCount > 1) { forumBody = forumBody + "<tr><td><b>" + forumSummary.CommentCount + "</b> comments added </td></tr><tr><td><hr></td></tr>"; } else { forumBody = forumBody + "<tr><td><hr></td></tr>"; } } if (!string.IsNullOrEmpty(forumBody)) { var emailHelper = new EmailHelper(); var paramters = new Dictionary<string, string> { {"ForumSummary", forumBody.Trim()}, {"Signature", ApplicationConfiguration.EmailSignature} }; emailHelper.SendMail("", ApplicationConfiguration.ForumSummaryDigestMail, "ForumSummary", paramters); } return new HttpResponseMessage(HttpStatusCode.OK) { Content = new StringContent(Constants.SummaryWeaklyMail) }; } catch (Exception ex) { return new HttpResponseMessage(HttpStatusCode.ExpectationFailed) { Content = new StringContent(ex.Message) }; } }
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 SubscriptionRequestMail(string forumName, string mailId, bool isSubscription) { var emailHelper = new EmailHelper(); var paramters = new Dictionary<string, string> { {"ForumName", forumName}, {"Signature", ApplicationConfiguration.EmailSignature} }; if (!string.IsNullOrEmpty(mailId)) emailHelper.SendMail("", mailId, isSubscription ? "SubscriptionRequest" : "UnSubscribeRequest", 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); }
private void SendStatusUpdateEmail(AnnouncementViewModel announcement, string recieverName, bool isCreated, string name) { //Send email //to do take this method out var users = ContactsService.GetPhoneBookList().Where(x => x.Email != String.Empty).OrderBy(x => x.AccountId).ToList(); var recieverEmail = users.FirstOrDefault(x => x.Name.ToLower() == recieverName.ToLower()).Email; var type = isCreated ? "A new update has been added " : "Existing update has been modified"; var paramters = new Dictionary<string, string> { {"CreatedBy",name}, {"Announcement", announcement.AnnouncementContent}, {"ForCreateOrUpdate", type}, {"StartDate", announcement.StartDate.ToShortDateString()}, {"EndDate", announcement.EndDate.ToShortDateString()}, {"ModuleName", "Announcement"}, {"ApproverName", announcement.ApproverName}, {"ModuleUrl", ApplicationConfiguration.ApplicationWebUrl + "/Administration/Announcement"}, {"NotifyUrl", ApplicationConfiguration.ApplicationWebUrl + "/Administration/Notification"}, {"Signature", ApplicationConfiguration.EmailSignature} }; if (announcement.IsApproved) { paramters.Add("appUrl", ApplicationConfiguration.ApplicationWebUrl); } var emailHelper = new EmailHelper(); emailHelper.SendMail("", recieverEmail, !announcement.IsApproved ? "AnnouncementCreationMail" : "AnnouncementApproverMail", paramters); }