Beispiel #1
0
    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));
        }
    }
Beispiel #2
0
    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()
        }));
    }