コード例 #1
0
ファイル: WeatherApi.cs プロジェクト: lynnprosper/GuardDog
        /// <summary>
        /// 使用 ApiRestModel 风格获取3天气数据
        /// </summary>
        /// <param name="area">地区名称</param>
        /// <returns></returns>
        public static async Task <ApiRestModel <SeniversResult> > GetDailyRestAsync(string area)
        {
            var data = await api.GetDailyRestAsync(new SeniversRequest(area)).Retry(3, TimeSpan.FromSeconds(2))
                       .WhenResult(t => t.State == false)
                       .Handle()
                       .WhenCatch <SeniverserException>(ex =>
            {
                return(ApiRestReulst.False <SeniversResult>(ex.Code));
            });

            return(data);
        }
コード例 #2
0
ファイル: WeatherApi.cs プロジェクト: lynnprosper/GuardDog
        /// <summary>
        /// 使用 ApiRestModel 风格获取当天天气数据
        /// </summary>
        /// <param name="area">地区名称</param>
        /// <returns></returns>
        public static async Task <ApiRestModel <Daily> > GetTodayRestAsync(string area)
        {
            var data = await api.GetDailyRestAsync(new SeniversRequest(area)).Retry(3, TimeSpan.FromSeconds(2))
                       .WhenResult(t => t.State == false)
                       .Handle()
                       .WhenCatch <SeniverserException>(ex =>
            {
                return(ApiRestReulst.False <SeniversResult>(ex.Code));
            });

            if (!data.State)
            {
                return(ApiRestReulst.False <Daily>((StatusCode)data.Code));
            }

            return(ApiRestReulst.True(data.Data.results.FirstOrDefault().daily.FirstOrDefault()));
        }