//Get Schedule For Day public void GetScheduleForDay(CallbackQueryEventArgs callbackQueryEventArgs) { var args = ArgParser.ParseCallbackData(callbackQueryEventArgs.CallbackQuery.Data); var directionArg = args.GetValueOrDefault(Commands.Direction); var direction = directionArg == Way.ToCTIR.ToString() ? Way.ToCTIR : Way.ToRzeszow; DateTime selectedDay = DateTime.Parse(args.GetValueOrDefault(Commands.Date)); //Get schedule for date var text = ScheduleHelper.GenerateSchedule(selectedDay, direction, User.GetLanguage); //Send menu to get back var inlineKeyboard = new InlineKeyboardMarkup(new[] { new [] // First row { // Bus stations button InlineKeyboardButton.WithCallbackData(Local.BusStations[User.GetLanguage], Commands.GetBusStation), }, new [] // Second row { // Weather button InlineKeyboardButton.WithCallbackData(Local.Weather[User.GetLanguage], $"{Commands.RefreshWeather}"), // Bus schedule url InlineKeyboardButton.WithUrl(Local.URLSchedule[User.GetLanguage], "https://wsiz.edu.pl/studia/informator/rozklad-jazdy-uczelnianego-autobusu"), }, // Third row TemplateModelsBuilder.WaysForBus() }); SendMessageAsync(ChatId, text, ParseMode.Markdown, replyMarkup: inlineKeyboard); DeleteMessageAsync(ChatId, MessageId); }
//Bus stations public void GetBusStation(CallbackQueryEventArgs callbackQueryEventArgs) { var args = ArgParser.ParseCallbackData(callbackQueryEventArgs.CallbackQuery.Data); var busStation = args.GetValueOrDefault(Commands.BusStation); //List All stations if (busStation == null) { var stationsInline = TemplateModelsBuilder.BusStations(); EditMessageTextAsync(ChatId, MessageId, Local.PickBusStation[User.GetLanguage], ParseMode.Markdown, replyMarkup: stationsInline); } //Get station info else { var stationId = int.Parse(busStation); var station = (Local.PointNames)stationId; var inlineKeyboard = new InlineKeyboardMarkup(new[] { new [] //First row { InlineKeyboardButton.WithCallbackData(Local.BusStations[User.GetLanguage], Commands.GetBusStation), }, new [] { InlineKeyboardButton.WithCallbackData(Local.Menu[User.GetLanguage], Commands.GetStartMenu), }, TemplateModelsBuilder.WaysForBus() }); DeleteMessageAsync(ChatId, MessageId); SendMessageAsync(ChatId, Local.BusPointNames[station], ParseMode.Markdown); SendLocationAsync(ChatId, Local.BusPoints[station][0], Local.BusPoints[station][1]); SendMessageAsync(ChatId, Local.ReturnBack[User.GetLanguage], ParseMode.Markdown, replyMarkup: inlineKeyboard); } }