private void ImportSettingsFromMailTemplates(IntranetActivityTypeEnum activityType, NotificationTypeEnum notificationType) { var notifierSettings = GetEmailNotifierSettings(activityType, notificationType); if (notifierSettings == null) { _exceptionLogger.Log(new NullReferenceException($"Email notifier settings for activity type = {activityType} and notification type = {notificationType} doesn't exist.")); return; } var mailTemplate = mailTemplates.SingleOrDefault(template => template.GetPropertyValue <NotificationTypeEnum>("emailType") == notificationType); if (mailTemplate == null) { return; } var mailSubject = mailTemplate.GetPropertyValue <string>("subject"); if (mailSubject.HasValue()) { notifierSettings.Template.Subject = mailSubject; } var mailBody = mailTemplate.GetPropertyValue <string>("body"); if (mailBody.HasValue()) { notifierSettings.Template.Body = mailBody; } _notificationSettingsService.Save(notifierSettings); }
private void ImportUiSettings(IntranetActivityTypeEnum activityType, NotificationTypeEnum notificationType) { var notifierSettings = GetUiNotifierSettings(activityType, notificationType); if (notifierSettings == null) { _exceptionLogger.Log(new NullReferenceException($"Ui notifier settings for activity type = {activityType} and notification type = {notificationType} doesn't exist.")); return; } var uiNotificationMessage = GetUiNotificationMessage(notificationType); if (uiNotificationMessage.HasValue()) { notifierSettings.Template.Message = uiNotificationMessage; } _notificationSettingsService.Save(notifierSettings); }
public virtual ActionResult OwnerEdit(Guid ownerId, string ownerIdPropertyName, IntranetActivityTypeEnum activityType, IActivityCreateLinks links) { var model = new IntranetActivityOwnerEditModel { Owner = _intranetUserService.Get(ownerId), OwnerIdPropertyName = ownerIdPropertyName, Links = links }; var currentUser = _intranetUserService.GetCurrentUser(); model.CanEditOwner = _permissionsService.IsRoleHasPermissions(currentUser.Role, PermissionConstants.CanEditOwner); if (model.CanEditOwner) { model.Users = GetUsersWithAccess(activityType, IntranetActivityActionEnum.Create); } return(PartialView(OwnerEditViewPath, model)); }
private NotifierSettingModel <EmailNotifierTemplate> GetEmailNotifierSettings(IntranetActivityTypeEnum activityType, NotificationTypeEnum notificationType) { return(_notificationSettingsService.Get <EmailNotifierTemplate>(GetActivityEventNotifierIdentity(NotifierTypeEnum.EmailNotifier, activityType, notificationType))); }
private ActivityEventNotifierIdentity GetActivityEventNotifierIdentity(NotifierTypeEnum notifierType, IntranetActivityTypeEnum activityType, Enum notificationType) { var activityEventIdentity = new ActivityEventIdentity(activityType, notificationType); return(new ActivityEventNotifierIdentity(activityEventIdentity, notifierType)); }