Beispiel #1
0
        protected string BuildUnsubcsribeLink(string notificationId, string userId)
        {
            var model = new NotificationUnsubscribe()
            {
                NotificationId = notificationId,
                UserId         = userId
            };
            var eModel = ModelEncryptor.Encrypt(model);
            var domain = GetDomainOfNotification(notificationId);

            if (string.IsNullOrEmpty(domain))
            {
                domain = _options.NotifyMeUnsubscribeDefaultDomain;
            }
            var link = domain + _options.NotifyMeUnsubscribePath + "?eModel=" + eModel;

            return(link);
        }
Beispiel #2
0
        public async Task <IActionResult> UnsubscribeRequest(string eModel, string accept)
        {
            if ((accept ?? "No") == "Yes")
            {
                NotificationUnsubscribe model = ModelEncryptor.Decrypt <NotificationUnsubscribe>(eModel);

                var userGroups = await _notificationManager.GetUserGroupsAssignedToNotificationAndUserAsync(model.NotificationId, model.UserId);

                foreach (var userGroup in userGroups)
                {
                    await _userGroupManager.UnsubscribeFromNotificationGroupAsync(userGroup.Id, model.UserId);
                }

                return(this.MasterPageView("/UI/Views/Public/NotifyMeSignUp/UnsubscribeSuccess.cshtml", model, "Unsubsrcribe"));
            }
            else
            {
                return(LocalRedirect("/"));
            }
        }
Beispiel #3
0
        public async Task <IActionResult> Unsubscribe(string eModel)
        {
            if (string.IsNullOrEmpty(eModel))
            {
                return(Redirect("/"));
            }

            NotificationUnsubscribe model = ModelEncryptor.Decrypt <NotificationUnsubscribe>(eModel);

            var userGroups = await _notificationManager.GetUserGroupsAssignedToNotificationAndUserAsync(model.NotificationId, model.UserId);

            if (userGroups.Count == 0)
            {
                return(this.MasterPageView("~/UI/Views/Public/NotifyMeSignUp/UnsubscribeSuccess.cshtml", "Unsubscribe"));
            }
            else
            {
                ViewData["UserGroups"] = userGroups;
                ViewData["eModel"]     = eModel;

                return(this.MasterPageView("~/UI/Views/Public/NotifyMeSignUp/UnsubscribeRequest.cshtml", "Unsubscribe"));
            }
        }