コード例 #1
0
ファイル: WeatherDailyCommand.cs プロジェクト: equuskk/Goblin
    public async Task <IResult> Execute(Message msg, BotUser user)
    {
        if (string.IsNullOrWhiteSpace(user.WeatherCity))
        {
            return(new FailedResult("Для получения погоды установите город (нужно написать следующее - установить город Москва)."));
        }

        var dict     = msg.ParsedPayload;
        var isExists = dict.TryGetValue(Trigger, out var day);

        if (!isExists)
        {
            return(new FailedResult("Невозможно получить значение даты"));
        }

        var isCorrectDate = DateTime.TryParse(day, out var dateTime);

        if (!isCorrectDate)
        {
            return(new FailedResult("Некорректное значение даты"));
        }

        var weather = await _weatherService.GetDailyWeather(user.WeatherCity, dateTime);

        weather.Keyboard = DefaultKeyboards.GetDailyWeatherKeyboard();

        return(weather);
    }
コード例 #2
0
    public string[] Aliases => new[] { "ежедневная" }; //TODO: lol

    public Task <IResult> Execute(Message msg, BotUser user)
    {
        if (string.IsNullOrWhiteSpace(user.WeatherCity))
        {
            return(Task.FromResult <IResult>(new FailedResult(DefaultErrors.CityNotSet)));
        }

        return(Task.FromResult <IResult>(new SuccessfulResult
        {
            Message = "Выберите день для получения погоды:",
            Keyboard = DefaultKeyboards.GetDailyWeatherKeyboard()
        }));
    }