public async Task <IActionResult> GetList(int dialogId, int lastKey = -1, int count = 1000)
        {
            var currentUserId = CurrentUserId();

            if (count < 0)
            {
                count = 1000;
            }

            var isAccess = (await _dialogsRepository.GetList()
                            .Include(p => p.DialogsUsers)
                            .ThenInclude(p => p.User)
                            .FirstOrDefaultAsync(p => p.Id == dialogId))
                           ?.DialogsUsers?.Any(p => p.UserId == currentUserId) ?? false;

            if (!isAccess)
            {
                return(StatusCode(404));
            }

            var query = _messagesRepository.GetList()
                        .Where(p => p.DialogId == dialogId);

            if (lastKey > 0)
            {
                query = query.Where(p => p.Id < lastKey);
            }


            var result = query.Take(count).ToList();

            return(Ok(result.Select(p => new MessageView(p)).ToList()));
        }