コード例 #1
0
        /// <summary>
        /// CocktailItems画面を表示する処理
        /// theCocktailDBのAPIより検索に指定された項目のデータを取得し表示する
        /// </summary>
        /// <returns>CocktailItems</returns>
        public ActionResult CocktailItems()
        {
            logger.Debug("Start");

            //GETパラメータをログに出力
            LogHelper.InfoLog_HttpGetParameter(logger, Request);

            CocktailNameModel cnm = null;

            //レスポンスをデシリアライズしたデータを入れる変数
            if (Request.QueryString["CocktailName"] != null)
            {
                cnm = CocktailAPI.NameSearch(Request.QueryString["CocktailName"], logger);
            }
            else
            {
                //すべてを表示する
                cnm = CocktailAPI.NameSearch("", logger);
            }

            //htmlに表示するデータの格納
            ViewBag.drinks = cnm.drinks;

            logger.Debug("End");
            //自分自身を表示
            return(View());
        }
コード例 #2
0
        /// <summary>
        /// 名前でカクテルを検索する
        /// </summary>
        /// <param name="i_searchName">検索に使用する名前</param>
        /// <param name="i_logger">ロガー</param>
        /// <returns></returns>
        public static CocktailNameModel NameSearch(String i_searchName, ILog i_logger)
        {
            i_logger.Debug("Start");
            //接続URL
            String baseUrl = "https://www.thecocktaildb.com/api/json/v1/1/search.php?";
            //GETパラメータの作成
            Dictionary <string, string> sendGetParams = new Dictionary <string, string>();

            //名前でカクテルを検索する場合
            sendGetParams.Add("s", i_searchName);
            WebResponse       webRes = HttpAccess(baseUrl, sendGetParams, i_logger);
            CocktailNameModel cnm    = JsonPurse(webRes, i_logger);

            i_logger.Debug("End");
            return(cnm);
        }
コード例 #3
0
        /// <summary>
        /// Jsonデータの解析を行う
        /// </summary>
        /// <param name="i_res">Jsonデータ</param>
        /// <param name="i_logger">ロガー</param>
        /// <returns>解析後のJsonデータ</returns>
        private static CocktailNameModel JsonPurse(WebResponse i_res, ILog i_logger)
        {
            i_logger.Debug("Start");
            CocktailNameModel cnm = null;

            //デシリアライズ
            using (i_res)
            {
                using (Stream resStream = i_res.GetResponseStream())
                {
                    DataContractJsonSerializer serializer = new DataContractJsonSerializer(typeof(CocktailNameModel));
                    cnm = (CocktailNameModel)serializer.ReadObject(resStream);
                }
            }
            i_logger.Debug("End");
            return(cnm);
        }
コード例 #4
0
        /// <summary>
        /// IDでカクテルを検索する
        /// </summary>
        /// <param name="i_searchId">検索に使用するID</param>
        /// <param name="i_logger">ロガー</param>
        /// <returns></returns>
        public static Drink IdSearch(String i_searchId, ILog i_logger)
        {
            i_logger.Debug("Start");
            //接続URL
            String baseUrl = "https://www.thecocktaildb.com/api/json/v1/1/lookup.php?";
            //GETパラメータの作成
            Dictionary <string, string> sendGetParams = new Dictionary <string, string>();

            //名前でカクテルを検索する場合
            sendGetParams.Add("i", i_searchId);

            WebResponse       webRes = HttpAccess(baseUrl, sendGetParams, i_logger);
            CocktailNameModel cnm    = JsonPurse(webRes, i_logger);
            Drink             drink  = cnm.drinks[0];

            i_logger.Debug("End");
            return(drink);
        }