public ViewResult Unsubscribe(int topicID, string authKey)
        {
            var container = new TopicUnsubscribeContainer {
                User = null, Topic = null
            };
            Guid parsedKey;

            if (!Guid.TryParse(authKey, out parsedKey))
            {
                return(View(container));
            }
            container.User  = _userService.GetUserByAuhtorizationKey(parsedKey);
            container.Topic = _topicService.Get(topicID);
            _subService.TryRemoveSubscribedTopic(container.User, container.Topic);
            return(View(container));
        }
Example #2
0
        public async Task <ViewResult> Unsubscribe(int topicID, int userID, string hash)
        {
            var container = new TopicUnsubscribeContainer {
                User = null, Topic = null
            };

            container.User = await _userService.GetUser(userID);

            container.Topic = await _topicService.Get(topicID);

            var unsubscribeHash = _profileService.GetUnsubscribeHash(container.User);

            if (unsubscribeHash != hash)
            {
                return(View(container));
            }
            await _subService.TryRemoveSubscribedTopic(container.User, container.Topic);

            return(View(container));
        }