/// <summary> /// 番組表取得処理 /// </summary> /// <param name="stationId"></param> /// <returns></returns> private List <Entities.Program> RefreshPrograms(string stationId) { using (SqliteConnection) { var sModel = new StationModel(SqliteConnection); var station = sModel.GetById(stationId); var programs = new List <Entities.Program>(); if (station == null) { return(programs); } switch (station.Type) { case Define.Radiko.TypeName: programs = Radiko.GetPrograms(station).Result; break; case Define.Nhk.TypeName: programs = Nhk.GetPrograms(station, DateTime.Now, DateTime.Now.AddDays(1)).Result; break; } var pModel = new ProgramModel(SqliteConnection); pModel.Refresh(programs); return(programs); } }
public async Task <ApiResponse> Post(string type) { return(await Execute(() => { using (SqliteConnection) { var stations = new List <Station>(); switch (type) { case Define.Radiko.TypeName: var cMolde = new ConfigModel(SqliteConnection); var config = cMolde.Get(); var login = !string.IsNullOrWhiteSpace(config?.RadikoEmail) && !string.IsNullOrEmpty(config.RadikoPassword) && Radiko.Login(config.RadikoEmail, config.RadikoPassword).Result; stations = Radiko.GetStations(login).Result; break; case Define.Nhk.TypeName: stations = Nhk.GetStations().Result; break; } var model = new StationModel(SqliteConnection); model.Refresh(stations); Result.Data = stations; Result.Result = true; } })); }