public string GetProgramInfoUri( NhkArea area, NhkService serivce, string id )
 {
     return string.Format( @"{0}/info/{1}/{2}/{3}.json?key={4}",
         ApiEndPoint, area.ToCode(), serivce.ToCode(), id, apiKey );
 }
 public string GetNowOnAirUri( NhkArea area, NhkService serivce )
 {
     return string.Format( @"{0}/now/{1}/{2}.json?key={3}",
         ApiEndPoint, area.ToCode(), serivce.ToCode(), apiKey );
 }
 public string GetProgramGenreUri( NhkArea area, NhkService serivce, NhkGenre genre, DateTime time )
 {
     return string.Format( @"{0}/genre/{1}/{2}/{3:0000}/{4}.json?key={5}",
         ApiEndPoint, area.ToCode(), serivce.ToCode(), (int)genre, time.ToString( @"yyyy-MM-dd" ), apiKey );
 }
 public string GetProgramListUri( NhkArea area, NhkService serivce, DateTime time )
 {
     return string.Format( @"{0}/list/{1}/{2}/{3}.json?key={4}",
         ApiEndPoint, area.ToCode(), serivce.ToCode(), time.ToString( @"yyyy-MM-dd" ), apiKey );
 }
        public async Task<NowOnAir.Rootobject> GetNowOnAir( NhkArea area, NhkService serivce )
        {
            var responce = await GetResponse( GetNowOnAirUri( area, serivce ) );

            return JsonConvert.DeserializeObject<NowOnAir.Rootobject>( responce );
        }
        public async Task<ProgramInfo.Rootobject> GetProgramInfo( NhkArea area, NhkService serivce, string id )
        {
            var responce = await GetResponse( GetProgramInfoUri( area, serivce, id ) );

            return JsonConvert.DeserializeObject<ProgramInfo.Rootobject>( responce );
        }
        public async Task<ProgramGenre.Rootobject> GetProgramGenre( NhkArea area, NhkService serivce, NhkGenre genre, DateTime time )
        {
            var responce = await GetResponse( GetProgramGenreUri( area, serivce, genre, time ) );

            return JsonConvert.DeserializeObject<ProgramGenre.Rootobject>( responce );
        }