//[ValidateAntiForgeryToken]
        public async Task <IActionResult> ProcessList([FromBody] ProfileViewModel vm)
        {
            var username = "";

            try {
                username = vm.UserName;
            } catch (NullReferenceException ex) {
                var owner = await userManager.GetUserAsync(HttpContext.User);

                username = await userManager.GetUserNameAsync(owner);
            }

            var user  = AppUser.GetByUserName(username, context);
            var ideas = IdeaEx.GetFullList(vm.Offset, user, context);
            var json  = JsonConvert.SerializeObject(ideas, Formatting.Indented, new JsonSerializerSettings {
                ContractResolver = new CamelCasePropertyNamesContractResolver()
            });

            return(Json(json));
        }
        public async Task <IActionResult> Favorite([FromBody] ListViewModel vm)
        {
            try {
                var owner = await userManager.GetUserAsync(HttpContext.User);

                var idea = IdeaEx.ById(vm.IdeaId, owner, context);
                UserStats.AddFavorite(owner, context);
                UserStats.AddFavorited(idea.Owner, context);
                if (idea.Owner != owner)
                {
                    Notification.Add(NotificationType.Favorited, idea.Owner, owner, idea, context);
                }
                var favorite = Models.Database.Favorite.Add(idea, owner, context);
                await context.SaveChangesAsync();

                return(Json(favorite));
            } catch (Exception ex) {
                ex = ex;
            }
            return(Json(""));
        }
        public async Task <IActionResult> LazyRequest([FromBody] ListViewModel vm)
        {
            var owner = await userManager.GetUserAsync(HttpContext.User);

            var idealist = ((vm.AppUser == null) ? IdeaEx.IdeaList(owner, context, vm.Start) : IdeaEx.IdeasFromUser(owner, vm.AppUser, context, vm.Start));

            return(Json(idealist));
        }