/// <summary> /// かすりデータ一覧を作って返す /// </summary> /// <param name="csv"></param> /// <returns></returns> private static List <TouchData> CreateTouchList(List <List <string> > csv) { List <TouchData> result = new List <TouchData>(); foreach (List <string> row in csv) { if (row.Count() == 0) { continue; } TouchData touch = new TouchData(); touch.Date = DateTime.Parse(row[0]); for (int i = 1; i < row.Count(); i += 2) { TouchPart part = new TouchPart(); part.SectionName = row[i]; part.Position = Convert.ToDouble(row[i + 1]); touch.Sections.Add(part); } //// 今日のデータは含めない //if(touch.Date!=DateTime.Now.Date) result.Add(touch); } return(result); }
/// <summary> /// /// </summary> /// <param name="sections"></param> /// <returns></returns> private static TouchData GetTodaysTouchData(Section[] sections) { TouchData touch = new TouchData(); touch.Date = DateTime.Now.Date; foreach (Section section in sections) { if (section.IsTouch) { TouchPart part = new TouchPart(); part.SectionName = section.SectionName; part.Position = section.NowPosition; if (part.Position > section.BestPosition) { part.Position = section.BestPosition; } touch.Sections.Add(part); } } return(touch); }
/// <summary> /// DataTableの内容をCSVファイルに保存する /// </summary> /// <param name="dt">CSVに変換するDataTable</param> /// <param name="csvPath">保存先のCSVファイルのパス</param> private static void ConvertDataTableToCsv( List <TouchData> dt, string csvPath) { string csvName = Directory.GetCurrentDirectory(); csvName = Path.Combine(csvName, csvPath); //CSVファイルに書き込むときに使うEncoding System.Text.Encoding enc = System.Text.Encoding.GetEncoding("Shift_JIS"); //書き込むファイルを開く System.IO.StreamWriter sr = new System.IO.StreamWriter(csvName, false, enc); //レコードを書き込む foreach (TouchData row in dt) { sr.Write(row.Date.ToString("yyyy/MM/dd")); for (int i = 0; i < row.Sections.Count; i++) { sr.Write(','); //フィールドの取得 TouchPart field = row.Sections[i]; //"で囲む string sectionName = EncloseDoubleQuotesIfNeed(field.SectionName); //フィールドを書き込む sr.Write(sectionName); sr.Write(','); sr.Write(field.Position.ToString()); } //改行する sr.Write("\r\n"); } //閉じる sr.Close(); }