public async void OnRemovedChat(object sender, RemovedChatEventArgs container) { if (_cachedClientProperies.TryGetValue(container.NameClient, out ClientProperties clientProperties) && InfoChats.TryGetValue(container.NumberChat, out InfoChat infoChat)) { if (container.NameClient == infoChat.OwnerChat) { List <Guid> idClientsForSendMessage = new List <Guid>();//Создание списка id для рассылки им сообщений List <string> NameForChange = infoChat.NameOfClients; await Task.Run(() => CreateClientListForChangeInfoChat(ref NameForChange, container.NumberChat, ref idClientsForSendMessage)); var SendMessageToClient = Task.Run(() => _server.Send(idClientsForSendMessage, Container.GetContainer(nameof(RemoveChatResponse), new RemoveChatResponse(container.NameClient, container.NumberChat)))); InfoChats.TryRemove(container.NumberChat, out InfoChat infoRemovedChat); if (!await Task.Run(() => _data.RemoveChat(container.NumberChat))) { //Ошибка на удаление в БД } } } }
private void OnRemovedChat(object sender, RemovedChatEventArgs container) { RemovedChat?.Invoke(this, new RemovedChatEventArgs(container.NameClient, container.NumberChat)); }