void Start() { newsAggregator = new NewsAgregator(); twitterWidget = new TwitterWidget(newsAggregator); lentaWidget = new LentaWidget(newsAggregator); tvWidget = new TvWidget(newsAggregator); newsAggregator.NeNewsAvalable(); // оповещение twitterWidget.RemoveFromSubject(); // удаление из оповещаемых newsAggregator.NeNewsAvalable(); // оповещение }
static void Main(string[] args) { IAgregator agregator = new NewsAgregator(); IObserver ch1Widget = new Chanel1Widget(agregator); IObserver ch2Widget = new Chanel2Widget(agregator); agregator.NotifyObservers(); //agregator.RemoveObserver(ch1Widget); // or ch2Widget.RemoveFromAgregator(); agregator.NotifyObservers(); Console.ReadLine(); }
private void processUpdate(Telegram.Bot.Types.Update update) { switch (update.Type) { case Telegram.Bot.Types.Enums.UpdateType.Message: var text = update.Message.Text; switch (text) { case "/Start": _client.SendTextMessageAsync(update.Message.Chat.Id, "Бот запушен\t\n Для получения новостей воспользуйтесь командой /News"); break; case "/start": _client.SendTextMessageAsync(update.Message.Chat.Id, "Бот запушен\t\n Для получения новостей воспользуйтесь командой /News"); break; case "/News": _client.SendTextMessageAsync(update.Message.Chat.Id, "Выберите интересующий вас новостной раздел", replyMarkup: GetInlineButtons()); break; case "/news": _client.SendTextMessageAsync(update.Message.Chat.Id, "Выберите интересующий вас новостной раздел", replyMarkup: GetInlineButtons()); break; default: _client.SendTextMessageAsync(update.Message.Chat.Id, "Неизвестная команда - " + text + "\t\n Для получения новостей воспользуйтесь командой /News"); break; } break; case Telegram.Bot.Types.Enums.UpdateType.CallbackQuery: NewsAgregator NA = new NewsAgregator(); switch (update.CallbackQuery.Data) { case "1": var msg1 = _client.SendTextMessageAsync(update.CallbackQuery.Message.Chat.Id, "\ud83d\udce2 ГЛАВНОЕ:\t\n" + NA.GetMain().Result, replyMarkup: GetInlineButtons()); break; case "2": var msg2 = _client.SendTextMessageAsync(update.CallbackQuery.Message.Chat.Id, "\u2694\ufe0f ПОЛИТИКА:\t\n" + NA.GetPolitic().Result, replyMarkup: GetInlineButtons()); break; case "3": var msg3 = _client.SendTextMessageAsync(update.CallbackQuery.Message.Chat.Id, "\ud83d\udcbc ЭКОНОМИКА:\t\n" + NA.GetEconomic().Result, replyMarkup: GetInlineButtons()); break; case "4": var msg4 = _client.SendTextMessageAsync(update.CallbackQuery.Message.Chat.Id, "\ud83e\udd4a СПОРТ:\t\n" + NA.GetSport().Result, replyMarkup: GetInlineButtons()); break; case "5": var msg5 = _client.SendTextMessageAsync(update.CallbackQuery.Message.Chat.Id, "\ud83d\udcb5 КУРС ВАЛЮТ:\t\n" + NA.GetRates().Result); break; } break; default: Console.WriteLine(update.Type + " Данный тип сообщения не обрабатывается"); break; } }