Пример #1
0
        public async Task <IActionResult> Unfollow([FromBody] ThreadIDModel t)
        {
            var user = await _userManager.GetUserAsync(HttpContext.User);

            var thread = _context.Threads.Find(t.ThreadID);

            if (thread != null)
            {
                var followedThreadRows = Util.GetFollowedThreadMatches(user, thread, _context, Request);

                if (followedThreadRows.Any())
                {
                    foreach (FollowedThread row in followedThreadRows)
                    {
                        _context.Remove(row);
                    }
                }
                ;

                await _context.SaveChangesAsync();

                return(new OkObjectResult(t.ThreadID));
            }
            else
            {
                return(new BadRequestObjectResult(thread));
            }
        }
Пример #2
0
        public async Task <IActionResult> ToggleHidden([FromBody] ThreadIDModel t)
        {
            var user = await _userManager.GetUserAsync(HttpContext.User);

            var thread = _context.Threads.Find(t.ThreadID);

            if (thread != null)
            {
                var hiddenThreadRows = Util.GetHiddenThreadMatches(user, thread, _context, Request);

                if (!hiddenThreadRows.Any())
                {
                    var hiddenThread = new HiddenThread
                    {
                        Thread = thread,
                        User   = user,
                        IP     = user == null
                            ? Util.GetCurrentIPString(Request)
                            : null
                    };

                    await _context.AddAsync(hiddenThread);
                }
                else
                {
                    foreach (HiddenThread row in hiddenThreadRows)
                    {
                        _context.Remove(row);
                    }
                }
                await _context.SaveChangesAsync();

                return(new OkObjectResult(t.ThreadID));
            }
            else
            {
                return(new BadRequestObjectResult(thread));
            }
        }