public async Task <IActionResult> AddLike(int postId)
        {
            Post post = _postRepository.Get(p => p.Id == postId).FirstOrDefault();

            if (post != null)
            {
                PostLikeAndView lav  = _lavRepository.Get(p => p.Id == post.LikeAndViewId).FirstOrDefault();
                User            user = await _userManager.GetUserAsync(User);

                List <int> ulp = (user.LikedPostsId ?? new int[] {}).ToList();
                if (ulp.Contains(postId))
                {
                    lav.Likes--;
                    ulp.Remove(postId);
                }
                else
                {
                    lav.Likes++;
                    ulp.Add(postId);
                }
                _lavRepository.Update(lav);
                user.LikedPostsId = ulp.ToArray();
                await _userManager.UpdateAsync(user);
            }
            return(RedirectToAction("Item", "Blog", new { id = postId, view = false }));
        }
        public async Task <IActionResult> Item(int id, bool?view)
        {
            User user = await _userManager.GetUserAsync(User);

            BlogViewModel model = await _postRepository.GetById(id);

            if (model == null || !model.Permitted)
            {
                return(RedirectToAction("Index"));
            }
            _postLikesAndViewRepository.Update(new PostLikeAndView
            {
                Likes = model.Likes,
                Views = model.Views + ((view ?? true) ? 1 : 0),
                Id    = await _postLikesAndViewRepository.GetIdByPostId(id)
            });
            model.isLiked = false;
            if (user != null)
            {
                if (user.LikedPostsId != null)
                {
                    if (user.LikedPostsId.ToList().Contains(id))
                    {
                        model.isLiked = true;
                    }
                }
            }
            return(View(model));
        }