Пример #1
0
        /// <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);
            }
        }
Пример #2
0
        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;
                }
            }));
        }