/// <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); }
/// <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); }