public async Task UpdateMessagesFromApi(int dialogId, int?offset = null)
        {
            var dialog = FirstOrDefaultWithLock(dialogId);

            if (dialog == null)
            {
                return;
            }

            var collection  = dialog.Messages;
            var newMessages = await MessagesClient.GetMessages(dialog.Id, offset);

            if (newMessages.Any())
            {
                var isNewestMessagesBatch = offset == null;
                AddUpdateMessagesInCollection(dialogId, newMessages, dialog.UnreadCount, isNewestMessagesBatch);
                await DurableCacheManager.SaveMessages(dialog.Id, collection).ConfigureAwait(false);
            }
        }