public async Task DeleteMessage(int dialogId, int messageId) { await MessagesClient.DeleteMessage(messageId); var dialog = FirstOrDefaultWithLock(dialogId); if (dialog == null) { return; } var collection = dialog.Messages; lock (collection) { var message = collection.FirstOrDefault(e => e.Id == messageId); if (message != null) { collection.Remove(message); } } }