/// <summary> /// コンストラクタ /// </summary> /// <param name="inputStream">CSV ファイルの Stream</param> public CsvImportService(Stream inputStream) { this.db = new WebApplication_Kaido03Context(); this.sexList = this.db.Sexes.ToList(); IEnumerable <string[]> csvLines = ReadCsv(inputStream); // TODO 2回目の LINQ 取得がうまくいかないので for する。 //var header = csvLines.FirstOrDefault(); //var lineList = csvLines.Skip(0).ToList(); int i = 0; foreach (var csvLine in csvLines) { // 1回目のみヘッダーチェック i++; if (i == 1) { ValidateHeader(csvLine); continue; } // 2回目以降はチェックおよびオブジェクト生成 ValidateLineAndMakeParent(i, csvLine); } // 2回目以降はチェックおよびオブジェクト生成 if (i < MIN_CSV_ROW_COUNT) { ErrorMessageList.Add("読み込むデータがありません。"); } IsValid = (ErrorMessageList.Count == 0); }