public async Task <IResult> GetSchedule(int narfuGroup, DateTime date) { if (!_narfuApi.Students.IsCorrectGroup(narfuGroup)) { return(new FailedResult($"Группа {narfuGroup} не найдена")); } try { var schedule = await _narfuApi.Students.GetScheduleAtDate(narfuGroup, date); return(new SuccessfulResult { Message = schedule.ToString(), Keyboard = DefaultKeyboards.GetScheduleKeyboard() }); } catch (HttpRequestException) { return(new FailedResult(DefaultErrors.NarfuSiteIsUnavailable)); } catch (Exception ex) { Log.ForContext <NarfuApi>().Fatal(ex, "Ошибка при получении расписания на день"); return(new FailedResult(DefaultErrors.NarfuUnexpectedError)); } }
private IScheduleService GetScheduleService() { var mock = new Mock <IScheduleService>(); mock.Setup(x => x.GetSchedule(It.IsAny <int>(), It.IsAny <DateTime>())) .ReturnsAsync(new SuccessfulResult { Message = "Расписание", Keyboard = DefaultKeyboards.GetScheduleKeyboard() }); return(mock.Object); }
public Task <IResult> Execute(Message msg, BotUser user) { if (user.NarfuGroup == 0) { return(Task.FromResult <IResult>(new FailedResult(DefaultErrors.GroupNotSet))); } return(Task.FromResult <IResult>(new SuccessfulResult { Message = "Выберите день", Keyboard = DefaultKeyboards.GetScheduleKeyboard() })); }