public async Task <bool> IncreaseView(int id, bool isAuthorize, CancellationToken cancellationToken)
        {
            int?userId = null;

            if (isAuthorize)
            {
                userId = HttpContext.User.Identity.GetUserId <int>();
            }

            var ip = _accessor.HttpContext?.Connection?.RemoteIpAddress?.ToString();

            var lastView = await _repositoryView.TableNoTracking
                           .Where(a => !a.VersionStatus.Equals(2) && a.PostId.Equals(id) && a.Ip.Equals(ip))
                           .OrderByDescending(a => a.Time)
                           .Select(a => a.Time)
                           .FirstOrDefaultAsync(cancellationToken);

            if (lastView != DateTimeOffset.MinValue && !_security.TimeCheck(lastView))
            {
                return(false);
            }

            return(await _viewRepository.IncreaseView(userId, ip, id, cancellationToken));
        }