public void ShowGroupTimetable(Context context, Result result) { var user = context.SharedData.OfType <User>(); context.SharedData.Remove(user); MessageTransfer msg = new MessageTransfer() { ChatId = user.Id }; var group = result.Entities.OfType("groupName"); var day = result.Entities.OfType <DateEntity>(Sys.Date) ?? new DateEntity("", DateTime.Now); int groupId = -1; try { groupId = CistApi.GetGroupIdFromName(group.Value); } catch (Exception) { msg.Message = "Что-то я не нашел такой группы, попробуй ещё раз!"; result.SendResponse(msg.ToJson()); return; } DayTimetable timetable = CistApi.GetGroupTimetable(groupId, day.DateTime); msg.Message = timetable?.ToString() ?? $"В расписании нету пар на {day.DateTime.ToShortDateString()}"; result.SendResponse(msg.ToJson()); }
public void ShowTeacherNearestTimetable(Context context, Result result) { var user = context.SharedData.OfType <User>(); context.SharedData.Remove(user); var msg = new MessageTransfer() { ChatId = user.Id }; var teacher = result.Entities.OfType("teacherName"); var day = DateTime.Now; int teacherId = -1; try { teacherId = CistApi.GetTeacherIdFromName(teacher.Value); } catch (Exception) { msg.Message = "Что-то я не нашел такого преподователя, попробуй ещё раз!"; result.SendResponse(msg.ToJson()); return; } var timetable = CistApi.GetTeacherNearestTimetable(teacherId, day); msg.Message = timetable != null ? $"Ближайшая пара у {teacher}:\n" + timetable?.ToString() : $"В расписании нету пар для {teacher}"; result.SendResponse(msg.ToJson()); }
public void ShowTeacherTimetable(Context context, Result result) { var user = context.SharedData.OfType <User>(); context.SharedData.Remove(user); MessageTransfer msg = new MessageTransfer() { ChatId = user.Id }; var teacher = result.Entities.OfType("teacherName"); var day = result.Entities.OfType <DateEntity>(Sys.Date); int teacherId = -1; try { teacherId = CistApi.GetTeacherIdFromName(teacher.Value); } catch (Exception) { msg.Message = "Что-то я не нашел такого преподователя, попробуй ещё раз!"; result.SendResponse(msg.ToJson()); return; } DayTimetable timetable = CistApi.GetTeacherTimetable(teacherId, day.DateTime); msg.Message = timetable?.ToString() ?? $"В расписании нету пар на {day.DateTime.ToShortDateString()}"; result.SendResponse(msg.ToJson()); }
public void ShowNextDayTimetable(Context context, Result result) { var user = context.SharedData.OfType <User>(); context.SharedData.Remove(user); MessageTransfer msg = new MessageTransfer() { ChatId = user.Id }; var day = result.Entities.OfType <DateEntity>(Sys.Date); DayTimetable timetable = new DayTimetable(); switch (user.Role) { case Role.Student: timetable = CistApi.GetGroupTimetable((user as Student).GroupId, day.DateTime); break; case Role.Teacher: timetable = CistApi.GetTeacherTimetable((user as Teacher).TeacherId, day.DateTime); break; default: break; } msg.Message = timetable?.ToString() ?? $"В расписании нету пар на {day.DateTime.ToShortDateString()}"; result.SendResponse(msg.ToJson()); }
public void ShowTodayTimetable(Context context, Result result) { var user = context.SharedData.OfType <User>(); context.SharedData.Remove(user); MessageTransfer msg = new MessageTransfer() { ChatId = user.Id }; DayTimetable timetable = new DayTimetable(); switch (user.Role) { case Role.Student: timetable = CistApi.GetGroupTimetable((user as Student).GroupId, DateTime.Now); break; case Role.Teacher: timetable = CistApi.GetTeacherTimetable((user as Teacher).TeacherId, DateTime.Now); break; default: break; } msg.Message = timetable?.ToString() ?? "На сегодня пар нету!"; result.SendResponse(msg.ToJson()); }
public void Default(Context context, Result result) { var user = context.SharedData.OfType <User>(); context.SharedData.Remove(user); MessageTransfer msg = new MessageTransfer { ChatId = user.Id, Message = $"Ой, что-то я не разобрал что тут написано {Emoji.Confused} \nМожете повторить ввод?" }; result.SendResponse(msg.ToJson()); }
public void ShowNureFeed(Context context, Result result) { var user = context.SharedData.OfType <User>(); context.SharedData.Remove(user); var msg = new MessageTransfer() { ChatId = user.Id }; try { msg.Message = CistApi.GetNureFeed(); } catch (Exception) { msg.Message = "К сожалению, сервер с новостями не работает!"; result.SendResponse(msg.ToJson()); return; } result.SendResponse(msg.ToJson()); }
public async void ShowTodayWeather(Context context, Result result) { var user = context.SharedData.OfType <User>(); context.SharedData.Remove(user); MessageTransfer msg = new MessageTransfer() { ChatId = user.Id }; var openClient = new OpenWeatherMapClient("22a6ae75fa60f187c896025ec05038ce"); var currentWeather = await openClient.CurrentWeather.GetByCityId(706483, MetricSystem.Metric, OpenWeatherMapLanguage.RU); msg.Message = $"В Харькове сейчас {currentWeather.Temperature.Value}° {Emoji.Sunny}\n" + $"На небе {currentWeather.Weather.Value}\n" + $"Обновленно:{currentWeather.LastUpdate.Value}"; result.SendResponse(msg.ToJson()); }
public async void ShowWeather(Context context, Result result) { var user = context.SharedData.OfType <User>(); context.SharedData.Remove(user); var day = result.Entities.OfType <DateEntity>(Sys.Date); MessageTransfer msg = new MessageTransfer() { ChatId = user.Id }; var openClient = new OpenWeatherMapClient("22a6ae75fa60f187c896025ec05038ce"); var currentWeather = await openClient.Forecast.GetByCityId(706483, true, MetricSystem.Metric, OpenWeatherMapLanguage.RU); var dayWeather = currentWeather.Forecast.SingleOrDefault(a => a.Day.ToShortDateString().Equals(day.DateTime.ToShortDateString())); msg.Message = dayWeather == null ? $"Извините, но у мен не вышло найти прогноз на {day.DateTime.ToShortDateString()}" : $"В Харькове будет от {dayWeather.Temperature.Min}° до {dayWeather.Temperature.Max}° {Emoji.Sunny}\n"; result.SendResponse(msg.ToJson()); }
public void ShowMap(Context context, Result result) { var user = context.SharedData.OfType <User>(); context.SharedData.Remove(user); var msg = new MessageTransfer() { ChatId = user.Id }; msg.Message = "Отправьте пожалуйста своё местоположение!"; msg.ReplyMarkup = new ReplyKeyboardMarkup(new[] { new KeyboardButton($"{Emoji.Round_Pushpin} Моё местоположение") { RequestLocation = true } } ); result.SendResponse(msg.ToJson()); }