public static Task <string> GetOnAirProgramsDataAsync( NiconicoVitaContext context, Nullable <CommunityType> type, SortDirection sortDirection, SortType sortType, Range range) { range.CheckMaximumLength(149, "range"); var sb = new StringBuilder(NiconicoUrls.LiveVideoOnAirListUrl); sb.Append('&'); sb.Append(range.ToFromLimitString()); if (sortDirection == SortDirection.Descending) { sb.Append("&order="); sb.Append(sortDirection.ToChar()); } if (type.HasValue) { sb.Append("&pt="); sb.Append(type.Value.ToCommunityTypeString()); } if (sortType != SortType.StartTime) { sb.Append("&sort="); sb.Append(sortType.ToSortTypeString()); } return(context.GetClient().GetStringWithoutHttpRequestExceptionAsync(sb.ToString())); }