Exemplo n.º 1
0
        public BookPage()
        {
            InitializeComponent();

            if (BookDB.select_all() != null)
            {
                var query     = BookDB.select_all();
                var titleList = new List <String>();
                var isbnList  = new List <String>();
                var RedList   = new List <int>();
                var BlueList  = new List <int>();
                var RedList2  = new List <string>();
                var BlueList2 = new List <string>();
                //*をリストにぶち込んで個数分addするのでもいいのでは
                foreach (var user in query)
                {
                    titleList.Add(user.Title);
                    isbnList.Add(user.ISBN);
                    RedList.Add(user.RedStar);
                    BlueList.Add(user.BlueBook);
                }
                for (var h = 0; h < query.Count; h++)
                {
                    if (RedList[h] == 1)
                    {
                        RedList2.Add("red_star_72.png");
                    }
                    else
                    {
                        RedList2.Add("");
                    }

                    if (BlueList[h] == 1)
                    {
                        BlueList2.Add("blue_book_72.png");
                    }
                    else
                    {
                        BlueList2.Add("");
                    }
                }
                for (var j = 0; j < query.Count; j++)
                {
                    items.Add(new Book
                    {
                        Name      = titleList[j],
                        ISBN      = isbnList[j],
                        RedStar   = RedList[j],
                        BlueBook  = BlueList[j],
                        RedStar2  = RedList2[j],
                        BlueBook2 = BlueList2[j]
                    });
                }
            }
            else
            {
                items.Add(new Book {
                    Name = "表示するものがありません"
                });
            }



            BookListView.ItemsSource = items;
        }
Exemplo n.º 2
0
        //タイトルを入力して検索
        private async void Serch_title(object sender, EventArgs e)
        {
            string Title = title_bar.Text;


            //検索文字列を%EAとかの形に変える
            string encodedtitle = Uri.EscapeUriString(Title); //Systemアセンブリ中に存在 UTF-8のみ

            requestUrl = url + "&title=" + encodedtitle;

            //2秒処理を待つ
            //await Task.Delay(2000);
            items.Clear();
            var query      = BookDB.select_all();
            var ListTitle  = new List <String>();
            var ListReview = new List <double>();
            var ListValue  = new List <string>();

            requestUrl = requestUrl + "&booksGenreId=001" + genreid;

            //HTTPアクセスメソッドを呼び出す
            string APIdata = await GetApiAsync(); //jsonをstringで受け取る

            //HTTPアクセス失敗処理(404エラーとか名前解決失敗とかタイムアウトとか)
            if (APIdata is null)
            {
                await DisplayAlert("接続エラー", "接続に失敗しました", "OK");
            }

            /*
             * //レスポンス(JSON)をstringに変換-------------->しなくていい
             * Stream s = GetMemoryStream(APIdata); //GetMemoryStreamメソッド呼び出し
             * StreamReader sr = new StreamReader(s);
             * string json = sr.ReadToEnd();
             */
            /*
             * //デシリアライズ------------------>しなくていい
             * var rakutenBooks = JsonConvert.DeserializeObject<RakutenBooks>(json.ToString());
             */

            //パースする *重要*   パースとは、文法に従って分析する、品詞を記述する、構文解析する、などの意味を持つ英単語。
            var json = JObject.Parse(APIdata); //stringのAPIdataをJObjectにパース

            JValue countV   = (JValue)json["hits"];
            string count    = countV.Value.ToString();
            int    getCount = int.Parse(count);

            var Items = JArray.Parse(json["Items"].ToString()); //Itemsは配列なのでJArrayにパース

            //結果を出力
            foreach (JObject jobj in Items)
            {
                //↓のように取り出す
                JValue titleValue = (JValue)jobj["title"];
                string title      = (string)titleValue.Value;

                JValue reviewAverageValue = (JValue)jobj["reviewAverage"];
                string reviewAverage      = (string)reviewAverageValue.Value;
                double Review             = double.Parse(reviewAverage);

                JValue titleKanaValue = (JValue)jobj["titleKana"];
                string titleKana      = (string)titleKanaValue.Value;

                JValue itemCaptionValue = (JValue)jobj["itemCaption"];
                string itemCaption      = (string)itemCaptionValue.Value;

                JValue gazoValue = (JValue)jobj["largeImageUrl"];
                string gazo      = (string)gazoValue.Value;

                ListTitle.Add(title);
                ListReview.Add(Review);
            }
            ;


            for (var j = 0; j < Items.Count; j++)
            {
                if (ListReview[j] <= 0.25)
                {
                    ListValue.Add("value_0_.png");
                }
                else if (ListReview[j] <= 0.75)
                {
                    ListValue.Add("value_0_5.png");
                }
                else if (ListReview[j] <= 1.25)
                {
                    ListValue.Add("value_1_.png");
                }
                else if (ListReview[j] <= 1.75)
                {
                    ListValue.Add("value_1_5.png");
                }
                else if (ListReview[j] <= 2.25)
                {
                    ListValue.Add("value_2_.png");
                }
                else if (ListReview[j] <= 2.75)
                {
                    ListValue.Add("value_2_5.png");;
                }
                else if (ListReview[j] <= 3.25)
                {
                    ListValue.Add("value_3_.png");
                }
                else if (ListReview[j] <= 3.75)
                {
                    ListValue.Add("value_3_5.png");
                }
                else if (ListReview[j] <= 4.25)
                {
                    ListValue.Add("value_4_.png");
                }
                else if (ListReview[j] <= 4.75)
                {
                    ListValue.Add("value_4_5.png");
                }
                else
                {
                    ListValue.Add("value_5_.png");
                }

                items.Add(new Book2 {
                    Name = ListTitle[j], Value = ListReview[j], ValueImage = ListValue[j]
                });
            }



            RankListView.ItemsSource = items;


            //リフレッシュを止める
            this.RankListView.IsRefreshing = false;
        }
Exemplo n.º 3
0
        /// <summary>
        /// リフレッシュ時に呼ばれる
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private async void OnRefreshing(object sender, EventArgs e)
        {
            //2秒処理を待つ
            await Task.Delay(2000);

            items.Clear();

            if (BookDB.select_all() != null)
            {
                var query     = BookDB.select_all();
                var titleList = new List <String>();
                var isbnList  = new List <String>();
                var RedList   = new List <int>();
                var BlueList  = new List <int>();
                var RedList2  = new List <string>();
                var BlueList2 = new List <string>();
                //*をリストにぶち込んで個数分addするのでもいいのでは
                foreach (var user in query)
                {
                    titleList.Add(user.Title);
                    isbnList.Add(user.ISBN);
                    RedList.Add(user.RedStar);
                    BlueList.Add(user.BlueBook);
                }
                for (var h = 0; h < query.Count; h++)
                {
                    if (RedList[h] == 1)
                    {
                        RedList2.Add("red_star_72.png");
                    }
                    else
                    {
                        RedList2.Add("");
                    }

                    if (BlueList[h] == 1)
                    {
                        BlueList2.Add("blue_book_72.png");
                    }
                    else
                    {
                        BlueList2.Add("");
                    }
                }
                for (var j = 0; j < query.Count; j++)
                {
                    items.Add(new Book
                    {
                        Name      = titleList[j],
                        ISBN      = isbnList[j],
                        RedStar   = RedList[j],
                        BlueBook  = BlueList[j],
                        RedStar2  = RedList2[j],
                        BlueBook2 = BlueList2[j]
                    });
                }
            }
            else
            {
                items.Add(new Book {
                    Name = "表示するものがありません"
                });
            }



            BookListView.ItemsSource = items;


            //リフレッシュを止める
            this.BookListView.IsRefreshing = false;
        }
Exemplo n.º 4
0
        //--------------------------------Serchボタンイベントハンドラ-----------------------------------
        private async void Serch(object sender, EventArgs e)
        {
            //2秒処理を待つ
            await Task.Delay(2000);

            items.Clear();
            var query      = BookDB.select_all();
            var ListTitle  = new List <String>();
            var ListReview = new List <double>();

            requestUrl = url + "&booksGenreId=001" + genreid; //URLにISBNコードを挿入

            //HTTPアクセスメソッドを呼び出す
            string APIdata = await GetApiAsync(); //jsonをstringで受け取る

            //HTTPアクセス失敗処理(404エラーとか名前解決失敗とかタイムアウトとか)
            if (APIdata is null)
            {
                await DisplayAlert("接続エラー", "接続に失敗しました", "OK");
            }

            /*
             * //レスポンス(JSON)をstringに変換-------------->しなくていい
             * Stream s = GetMemoryStream(APIdata); //GetMemoryStreamメソッド呼び出し
             * StreamReader sr = new StreamReader(s);
             * string json = sr.ReadToEnd();
             */
            /*
             * //デシリアライズ------------------>しなくていい
             * var rakutenBooks = JsonConvert.DeserializeObject<RakutenBooks>(json.ToString());
             */

            //パースする *重要*   パースとは、文法に従って分析する、品詞を記述する、構文解析する、などの意味を持つ英単語。
            var json  = JObject.Parse(APIdata);                 //stringのAPIdataをJObjectにパース
            var Items = JArray.Parse(json["Items"].ToString()); //Itemsは配列なのでJArrayにパース

            //結果を出力
            foreach (JObject jobj in Items)
            {
                //↓のように取り出す
                JValue titleValue = (JValue)jobj["title"];
                string title      = (string)titleValue.Value;

                JValue reviewAverageValue = (JValue)jobj["reviewAverage"];
                string reviewAverage      = (string)reviewAverageValue.Value;
                double Review             = double.Parse(reviewAverage);

                JValue titleKanaValue = (JValue)jobj["titleKana"];
                string titleKana      = (string)titleKanaValue.Value;

                JValue itemCaptionValue = (JValue)jobj["itemCaption"];
                string itemCaption      = (string)itemCaptionValue.Value;

                JValue gazoValue = (JValue)jobj["largeImageUrl"];
                string gazo      = (string)gazoValue.Value;

                ListTitle.Add(title);
                ListReview.Add(Review);
            }
            ;

            for (var j = 0; j < 30; j++)
            {
                items.Add(new Book2 {
                    Name = ListTitle[j], Value = ListReview[j]
                });
            }
            for (var i = 0; i < items.Count; i++)
            {
                if (items[i].Value <= 0.25)
                {
                    items[i].ValueImage = "value_0.png";
                }
                else if (items[i].Value <= 0.75)
                {
                    items[i].ValueImage = "value_0.5.png";
                }
                else if (items[i].Value <= 1.25)
                {
                    items[i].ValueImage = "value_1.png";
                }
                else if (items[i].Value <= 1.75)
                {
                    items[i].ValueImage = "value_1.5.png";
                }
                else if (items[i].Value <= 2.25)
                {
                    items[i].ValueImage = "value_2.png";
                }
                else if (items[i].Value <= 2.75)
                {
                    items[i].ValueImage = "value_2.5.png";
                }
                else if (items[i].Value <= 3.25)
                {
                    items[i].ValueImage = "value_3.png";
                }
                else if (items[i].Value <= 3.75)
                {
                    items[i].ValueImage = "value_3.5.png";
                }
                else if (items[i].Value <= 4.25)
                {
                    items[i].ValueImage = "value_4.png";
                }
                else if (items[i].Value <= 4.75)
                {
                    items[i].ValueImage = "value_4.5.png";
                }
                else
                {
                    items[i].ValueImage = "value_5.png";
                }
            }


            RankListView.ItemsSource = items;


            //リフレッシュを止める
            this.RankListView.IsRefreshing = false;
        }