public void GuestInfoAddedAfterInvite(UserInfo newUserInfo) { if (!CoreContext.UserManager.UserExists(newUserInfo.ID)) { return; } INotifyAction notifyAction; var footer = "social"; if (TenantExtra.Enterprise) { var defaultRebranding = MailWhiteLabelSettings.Instance.IsDefault; notifyAction = defaultRebranding ? Actions.EnterpriseGuestWelcomeV10 : Actions.EnterpriseWhitelabelGuestWelcomeV10; footer = null; } else if (TenantExtra.Opensource) { notifyAction = Actions.OpensourceGuestWelcomeV11; footer = "opensource"; } else { notifyAction = Actions.SaasGuestWelcomeV115; } Func <string> greenButtonText = () => TenantExtra.Enterprise ? WebstudioNotifyPatternResource.ButtonAccessYourPortal : WebstudioNotifyPatternResource.ButtonAccessYouWebOffice; client.SendNoticeToAsync( notifyAction, null, StudioNotifyHelper.RecipientFromEmail(newUserInfo.Email, false), new[] { EMailSenderName }, null, new TagValue(Tags.UserName, newUserInfo.FirstName.HtmlEncode()), new TagValue(Tags.MyStaffLink, GetMyStaffLink()), TagValues.GreenButton(greenButtonText, CommonLinkUtility.GetFullAbsolutePath("~").TrimEnd('/')), new TagValue(CommonTags.Footer, footer)); }
public void SendMsgRestoreCompleted(bool notifyAllUsers) { var users = notifyAllUsers ? CoreContext.UserManager.GetUsers(EmployeeStatus.Active) : new[] { CoreContext.UserManager.GetUsers(CoreContext.TenantManager.GetCurrentTenant().OwnerId) }; foreach (var user in users) { var hash = CoreContext.Authentication.GetUserPasswordStamp(user.ID).ToString("s"); var confirmationUrl = CommonLinkUtility.GetConfirmationUrl(user.Email, ConfirmType.PasswordChange, hash); Func <string> greenButtonText = () => WebstudioNotifyPatternResource.ButtonSetPassword; client.SendNoticeToAsync( Actions.RestoreCompletedV115, null, new IRecipient[] { user }, new[] { EMailSenderName }, null, TagValues.GreenButton(greenButtonText, confirmationUrl)); } }
public void GuestInfoActivation(UserInfo newUserInfo) { if (newUserInfo.IsActive) { throw new ArgumentException("User is already activated!"); } INotifyAction notifyAction; var analytics = string.Empty; var footer = "social"; if (TenantExtra.Enterprise) { var defaultRebranding = MailWhiteLabelSettings.Instance.IsDefault; notifyAction = defaultRebranding ? Actions.EnterpriseGuestActivationV10 : Actions.EnterpriseWhitelabelGuestActivationV10; footer = null; } else { notifyAction = Actions.SaasGuestActivationV10; var tenant = CoreContext.TenantManager.GetCurrentTenant(); analytics = StudioNotifyHelper.GetNotifyAnalytics(tenant.TenantId, notifyAction, false, false, false, true); } var confirmationUrl = GenerateActivationConfirmUrl(newUserInfo); Func <string> greenButtonText = () => WebstudioNotifyPatternResource.ButtonAccept; client.SendNoticeToAsync( notifyAction, null, StudioNotifyHelper.RecipientFromEmail(newUserInfo.Email, false), new[] { EMailSenderName }, null, TagValues.GreenButton(greenButtonText, confirmationUrl), new TagValue(Tags.UserName, newUserInfo.FirstName.HtmlEncode()), new TagValue(CommonTags.Footer, footer), new TagValue(CommonTags.Analytics, analytics)); }
public void SendRegData(UserInfo u) { try { if (!TenantExtra.Saas || !CoreContext.Configuration.CustomMode) { return; } var salesEmail = AdditionalWhiteLabelSettings.Instance.SalesEmail ?? SetupInfo.SalesEmail; if (string.IsNullOrEmpty(salesEmail)) { return; } var recipient = new DirectRecipient(salesEmail, null, new[] { salesEmail }, false); client.SendNoticeToAsync( Actions.SaasCustomModeRegData, null, new IRecipient[] { recipient }, new[] { EMailSenderName }, null, new TagValue(Tags.UserName, u.FirstName.HtmlEncode()), new TagValue(Tags.UserLastName, u.LastName.HtmlEncode()), new TagValue(Tags.UserEmail, u.Email.HtmlEncode()), new TagValue(Tags.Phone, u.MobilePhone != null ? u.MobilePhone.HtmlEncode() : "-"), new TagValue(Tags.Date, u.CreateDate.ToShortDateString() + " " + u.CreateDate.ToShortTimeString()), new TagValue(CommonTags.Footer, null), TagValues.WithoutUnsubscribe()); } catch (Exception error) { LogManager.GetLogger("ASC.Notify").Error(error); } }