public void Send( ClaimsPrincipal us, // User From string Subject, // Subject string Mailto, // User target name string UserEmail, // User target email string CallBack, // Link CallBack string NotificationTitle, // Email content or descriptions string Description, // Description NotificationInboxStatus notifStatus, // Notif Status Activities activity, // Activity Status, string Attachments = null, // Attachment, string EmailTemplate = null, // Template, Dictionary <string, string> Data = null ) { try { if (!_config.GetConfigAsBool("notif.enabled")) { throw new InvalidOperationException("Notification mail is currently disabled"); } var user = _userHelper.GetUser(us); if (Data == null) { Data = new Dictionary <string, string>() { { "Name", Mailto }, { "NotificationTitle", NotificationTitle }, { "CallbackUrl", CallBack }, { "Description", Description }, }; } string Desc = Description; if (string.IsNullOrWhiteSpace(Description)) { Desc = NotificationTitle; } if (string.IsNullOrEmpty(EmailTemplate)) { EmailTemplate = "Emails/ActivityEmail"; } var email = _mailingHelper.CreateEmail( _config.GetConfig("smtp.from.email"), //from UserEmail, // Tos Subject, // Subject EmailTemplate, // viewName user, // Model Data, // additionalData null, null, // replyTo null, // replyToName Desc, // plain message null, // cc null, // bcc Enum.GetName(typeof(Activities), activity), CallBack, Enum.GetName(typeof(NotificationInboxStatus), notifStatus), Attachments ); var emailResult = _mailingHelper.SendEmail(email).Result; } catch (Exception e) { Console.WriteLine(e.ToString()); } }
private void SendNotif(string Id, int?UserId, string Subject, string Content, NotificationInboxStatus status, string Notes = null) { var Profile = _userHelper.GetUserProfile(UserId.Value); if (Profile != null) { var AppUser = _userHelper.GetUser(Profile.ApplicationUserId); var callbackUrl = Url.Action("Details", "Srf", new { area = "Admin", id = Guid.Parse(Id) }, _hostConfiguration.Protocol, _hostConfiguration.Name); _notif.Send( User, // User From Subject, // Subject Profile.Name, // User target name AppUser.Email, // User target email callbackUrl, // Link CallBack Content, // Email content or descriptions Notes, // Description status, // Notif Status Activities.SRF // Activity Status ); } }