Пример #1
0
        private async void RemoveEvent(object sender, VoidTraderNotificationEventArgs e)
        {
            await AsyncHelpers.RedirectToMainThread();

            foreach (var trader in e.Notifications)
            {
                Tools.Logging.Send(LogLevel.Info, $"Удаляю торговца [{trader.Character}] {trader.Id.Oid}!", param: trader);
            }

            traders.RemoveAll(e.Notifications.Select(trader => TryGetTraderById(trader.Id)).Where(trader => trader != null));
        }
Пример #2
0
        void RemoveAllItems <ItemVM>(IEnumerable <ItemVM> items)
        {
            Tools.Logging.Send(LogLevel.Info, $"Управление нотификациями: удаляю группу");
            var notificationsToRemove = new List <UserNotification>();

            foreach (var i in items)
            {
                if (!sourceToNotificationMapping.TryGetValue(i, out var notification))
                {
                    continue;
                }
                sourceToNotificationMapping.Remove(i);
                notificationsToRemove.Add(notification);
                Tools.Logging.Send(LogLevel.Info, $"Управление нотификациями: удаляю нотификацию \"{notification}\"!");
            }
            Tools.Logging.Send(LogLevel.Info, $"Управление нотификациями: группа удалена");
            notifications.RemoveAll(notificationsToRemove);
        }
Пример #3
0
 protected virtual void RemoveEventImpl(IReadOnlyCollection <ItemModel> removedItems)
 {
     LogRemoved(removedItems);
     items.RemoveAll(removedItems.Select(TryGetItemByModel).Where(item => items != null));
 }