コード例 #1
0
ファイル: PublishModel.cs プロジェクト: Pie001/PublisherTool
        /// <summary>
        /// ProductCSVファイルから商材情報を取得
        /// </summary>
        /// <returns>商材一覧</returns>
        public static List <EnvDetail> ReadProductCsv()
        {
            List <EnvDetail> envDetailList = new List <EnvDetail>();
            int count = 0;

            // csvファイルを開く
            using (var sr = new System.IO.StreamReader(AppDomain.CurrentDomain.BaseDirectory + ConfigurationManager.AppSettings["ServerListCsv"]))
            //using (var sr = new System.IO.StreamReader(ConfigurationManager.AppSettings["ProductListCsv"]))
            {
                // ストリームの末尾まで繰り返す
                while (!sr.EndOfStream)
                {
                    EnvDetail envDetail = new EnvDetail();

                    // ファイルから一行読み込む
                    var line = sr.ReadLine();

                    // csvの1行目はヘッダなので読み込まない。2行目から読み込む。
                    if (count == 0)
                    {
                        // プルダウン表示名
                        envDetail.viewName = "Please select product";
                        // プルダウンのvalue
                        envDetail.value = Convert.ToString(count);
                        envDetailList.Add(envDetail);

                        count++;
                        continue;
                    }

                    // 読み込んだ一行をカンマ毎に分けて配列に格納する
                    var values = line.Split(',');

                    // プルダウン表示名
                    envDetail.viewName = values[0];
                    // プルダウンのvalue
                    envDetail.value = values[1];

                    // 既に格納済みの商材情報か確認する。
                    // viewNameとvalueが同じのものがない場合(検索件数:0件)、一覧に格納する。
                    if (0 == envDetailList.Where(t => t.viewName == values[0] && t.value == values[1]).Count())
                    {
                        envDetailList.Add(envDetail);
                        count++;
                    }
                }
            }

            return(envDetailList);
        }
コード例 #2
0
ファイル: PublishModel.cs プロジェクト: Pie001/PublisherTool
        /// <summary>
        /// 商材区分に当てはまるServerListを返す
        /// </summary>
        /// <param name="selectValue">商材区分</param>
        /// <returns>サーバー一覧</returns>
        public static List <EnvDetail> GetServerList(string selectValue)
        {
            List <EnvDetail> envDetailList = new List <EnvDetail>();

            int count = 0;

            // csvファイルを開く
            using (var sr = new System.IO.StreamReader(AppDomain.CurrentDomain.BaseDirectory + ConfigurationManager.AppSettings["ServerListCsv"]))
            {
                // ストリームの末尾まで繰り返す
                while (!sr.EndOfStream)
                {
                    EnvDetail envDetail = new EnvDetail();

                    // ファイルから一行読み込む
                    var line = sr.ReadLine();

                    // csvの1行目はヘッダなので読み込まない。2行目から読み込む。
                    if (count == 0)
                    {
                        count++;
                        continue;
                    }

                    // 読み込んだ一行をカンマ毎に分けて配列に格納する
                    var values = line.Split(',');

                    // 選択した商材配下のサーバー一覧のみ表示
                    if (selectValue == values[1])
                    {
                        // プルダウン表示名
                        envDetail.viewName = values[3];
                        // プルダウンのvalue
                        envDetail.value = values[4] + "," + values[5] + "," + values[1];// 0:仮本番パス、1:本番パス、2:商材区分番号
                        // 商材のhttpHeader
                        envDetail.httpHeader = values[0];
                        // 仮本番のパス
                        envDetail.FromPath = values[4];
                        // 本番のパス
                        envDetail.ToPath = values[5];

                        envDetailList.Add(envDetail);
                    }
                    count++;
                }
            }

            return(envDetailList);
        }