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);
        }
예제 #3
0
        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));
        }