Ejemplo n.º 1
0
        /// <summary>
        /// Отобразить содержимое локальной БД
        /// </summary>
        /// <returns></returns>
        public ChannelsSetsList GetDataFromDB()
        {
            ChannelsSetsList setsList = new ChannelsSetsList();
            SQLiteDatabase   db;

            try
            {
                db = ReadableDatabase;
            } catch (Exception)
            {
                ClearDatabase();

                return(setsList);
            }

            // Работа с сетами
            ICursor allSets = db.RawQuery("SELECT * FROM " + SETS_TABLE_NAME, null);

            if (allSets.MoveToFirst())
            {
                String[] columnNames = allSets.GetColumnNames();
                do
                {
                    // Проходимся по каждому сету в таблице сетов и создаем новый объект сета
                    var a = allSets.GetString(allSets.GetColumnIndex(columnNames[0]));
                    setsList.AddSet(new ChannelsSet(allSets.GetString(allSets.GetColumnIndex(columnNames[1]))));
                } while (allSets.MoveToNext());
            }

            // Работа с каналами
            ICursor allChannels = db.RawQuery("SELECT * FROM " + CHANNELS_TABLE_NAME, null);

            if (allChannels.MoveToFirst())
            {
                String[] columnNames = allChannels.GetColumnNames();
                do
                {
                    // Проходимся по каждому каналу в таблице каналов
                    var     channelName     = allChannels.GetString(allChannels.GetColumnIndex(columnNames[1]));
                    var     channelPlatform = allChannels.GetString(allChannels.GetColumnIndex(columnNames[2]));
                    var     channelSetIndex = allChannels.GetString(allChannels.GetColumnIndex(columnNames[3]));
                    Channel channel         = new Channel(channelName, (DATA.Platforms)Int32.Parse(channelPlatform));
                    setsList.AddChannel(channel, Int32.Parse(channelSetIndex) - 1);
                } while (allChannels.MoveToNext());
            }

            return(setsList);
        }