/// <summary> /// 競走馬マスタDB保存 /// </summary> /// <param name="e"></param> /// <param name="uma">競走馬マスタ</param> /// <param name="umaDataTable">競走馬データテーブル</param> private static void WriteDbUmaData(eOutput e, JVData_Struct.JV_UM_UMA uma, DataTable umaDataTable) { switch (e) { case eOutput.Umanushi: if (0 >= uma.BirthDate.Year.CompareTo(DiscardBirthYear.ToString())) { // 20歳以上の馬は不要 return; } string makeDate = uma.head.MakeDate.Year + uma.head.MakeDate.Month + uma.head.MakeDate.Day; string regDate = uma.RegDate.Year + uma.RegDate.Month + uma.RegDate.Day; string delDate = uma.DelDate.Year + uma.DelDate.Month + uma.DelDate.Day; long ruikeiSyutokuHeichi = long.Parse(uma.RuikeiSyutokuHeichi) / 100; long ruikeiSyutokuSyogai = long.Parse(uma.RuikeiSyutokuSyogai) / 100; int raceCount = int.Parse(uma.RaceCount); DataRow dr = umaDataTable.Rows.Find(uma.KettoNum); if (dr == null) { dr = umaDataTable.NewRow(); dr["KettoNum"] = uma.KettoNum; dr["MakeDate"] = makeDate; dr["DelKubun"] = uma.DelKubun; dr["RegDate"] = regDate; dr["DelDate"] = delDate; dr["BirthYear"] = uma.BirthDate.Year; dr["Bamei"] = uma.Bamei.Trim(); dr["SexCD"] = uma.SexCD; dr["TozaiCD"] = uma.TozaiCD; dr["ChokyosiRyakusyo"] = uma.ChokyosiRyakusyo.Trim(); dr["RuikeiSyutokuHeichi"] = ruikeiSyutokuHeichi; dr["RuikeiSyutokuSyogai"] = ruikeiSyutokuSyogai; dr["RaceCount"] = raceCount; if (raceCount == 0) { dr["UmaClass"] = GetUmaClass(dr); } umaDataTable.Rows.Add(dr); } else { if (0 < dr["MakeDate"].ToString().CompareTo(makeDate)) { // 古いデータはスキップ break; } if (dr["MakeDate"].ToString() != makeDate) { dr["MakeDate"] = makeDate; } if (dr["DelKubun"].ToString() != uma.DelKubun) { dr["DelKubun"] = uma.DelKubun; } if (dr["RegDate"].ToString() != regDate) { dr["RegDate"] = regDate; } if (dr["DelDate"].ToString() != delDate) { dr["DelDate"] = delDate; } if (dr["BirthYear"].ToString() != uma.BirthDate.Year) { dr["BirthYear"] = uma.BirthDate.Year; } if (dr["Bamei"].ToString() != uma.Bamei.Trim()) { dr["Bamei"] = uma.Bamei.Trim(); } if (dr["SexCD"].ToString() != uma.SexCD) { dr["SexCD"] = uma.SexCD; } if (dr["TozaiCD"].ToString() != uma.TozaiCD) { dr["TozaiCD"] = uma.TozaiCD; } if (dr["ChokyosiRyakusyo"].ToString() != uma.ChokyosiRyakusyo.Trim()) { dr["ChokyosiRyakusyo"] = uma.ChokyosiRyakusyo.Trim(); } if (dr["RuikeiSyutokuHeichi"].ToString() != ruikeiSyutokuHeichi.ToString()) { dr["RuikeiSyutokuHeichi"] = ruikeiSyutokuHeichi; } if (dr["RuikeiSyutokuSyogai"].ToString() != ruikeiSyutokuSyogai.ToString()) { dr["RuikeiSyutokuSyogai"] = ruikeiSyutokuSyogai; } if (dr["RaceCount"].ToString() != raceCount.ToString()) { dr["RaceCount"] = raceCount; } } break; } }
/// <summary> /// 馬毎レース情報DB保存 /// </summary> /// <param name="e"></param> /// <param name="raceUma">馬毎レース情報</param> /// <param name="raceUmaDataTable">馬毎レース情報データテーブル</param> private static void WriteDbRaceUmaData(eOutput e, JVData_Struct.JV_SE_RACE_UMA raceUma, DataTable raceUmaDataTable) { switch (e) { case eOutput.Umanushi: string receKey = raceUma.id.Year + raceUma.id.MonthDay + raceUma.id.JyoCD + raceUma.id.Kaiji + raceUma.id.Nichiji + raceUma.id.RaceNum; string raceDate = raceUma.id.Year + raceUma.id.MonthDay; DataRow dr = raceUmaDataTable.Rows.Find(new[] { receKey, raceUma.KettoNum }); if (dr == null) { dr = raceUmaDataTable.NewRow(); dr["RaceKey"] = receKey; dr["RaceDate"] = raceDate; dr["KettoNum"] = raceUma.KettoNum; dr["KakuteiJyuni"] = raceUma.KakuteiJyuni; raceUmaDataTable.Rows.Add(dr); } else { if (dr["KakuteiJyuni"].ToString() != raceUma.KakuteiJyuni) { dr["KakuteiJyuni"] = raceUma.KakuteiJyuni; } } break; } }
/// <summary> /// 馬毎レース情報出力 /// </summary> /// <param name="e"></param> /// <param name="raceUma">馬毎レース情報</param> private static void OutputRaceUmaData(eOutput e, JVData_Struct.JV_SE_RACE_UMA raceUma) { switch (e) { case eOutput.Umanushi: Output.AppendFormat("{0},", raceUma.head.RecordSpec); Output.AppendFormat("{0},", raceUma.head.DataKubun); Output.AppendFormat("{0},", raceUma.id.Year); Output.AppendFormat("{0},", raceUma.id.MonthDay); Output.AppendFormat("{0},", raceUma.id.JyoCD); Output.AppendFormat("{0},", raceUma.id.Kaiji); Output.AppendFormat("{0},", raceUma.id.Nichiji); Output.AppendFormat("{0},", raceUma.id.RaceNum); Output.AppendFormat("{0},", raceUma.Wakuban); Output.AppendFormat("{0},", raceUma.Umaban); Output.AppendFormat("{0},", raceUma.KettoNum); Output.AppendFormat("{0},", raceUma.Bamei.Replace(" ", "")); Output.AppendFormat("{0},", raceUma.UmaKigoCD); Output.AppendFormat("{0},", raceUma.SexCD); Output.AppendFormat("{0},", raceUma.KeiroCD); Output.AppendFormat("{0},", raceUma.Barei); Output.AppendFormat("{0},", raceUma.TozaiCD); Output.AppendFormat("{0},", raceUma.ChokyosiRyakusyo.Replace(" ", "")); Output.AppendFormat("{0},", raceUma.Futan); Output.AppendFormat("{0},", raceUma.Blinker); Output.AppendFormat("{0},", raceUma.KisyuRyakusyo.Replace(" ", "")); Output.AppendFormat("{0},", raceUma.MinaraiCD); Output.AppendFormat("{0},", raceUma.IJyoCD); Output.AppendFormat("{0},", raceUma.KakuteiJyuni); Output.AppendFormat("{0},", raceUma.DochakuKubun); Output.AppendFormat("{0},", raceUma.DochakuTosu); Output.AppendFormat("{0},", raceUma.Honsyokin); Output.AppendFormat("{0}", raceUma.RecordUpKubun); Output.Append(System.Environment.NewLine); break; } }
/// <summary> /// レース詳細DB保存 /// </summary> /// <param name="e"></param> /// <param name="race">レース詳細</param> /// <param name="raceDataTable">レース詳細データテーブル</param> private static void WriteDbRaceData(eOutput e, JVData_Struct.JV_RA_RACE race, DataTable raceDataTable) { switch (e) { case eOutput.Umanushi: string receKey = race.id.Year + race.id.MonthDay + race.id.JyoCD + race.id.Kaiji + race.id.Nichiji + race.id.RaceNum; string raceDate = race.id.Year + race.id.MonthDay; DataRow dr = raceDataTable.Rows.Find(receKey); if (dr == null) { dr = raceDataTable.NewRow(); dr["RaceKey"] = receKey; dr["RaceDate"] = raceDate; dr["DataKubun"] = race.head.DataKubun; dr["GradeCD"] = race.GradeCD; dr["SyubetuCD"] = race.JyokenInfo.SyubetuCD; raceDataTable.Rows.Add(dr); } else { if (dr["DataKubun"].ToString() != race.head.DataKubun) { dr["DataKubun"] = race.head.DataKubun; } if (dr["GradeCD"].ToString() != race.GradeCD) { dr["GradeCD"] = race.GradeCD; } if (dr["SyubetuCD"].ToString() != race.JyokenInfo.SyubetuCD) { dr["SyubetuCD"] = race.JyokenInfo.SyubetuCD; } } break; } }
/// <summary> /// レース詳細出力 /// </summary> /// <param name="e"></param> /// <param name="race">レース詳細情報</param> private static void OutputRaceData(eOutput e, JVData_Struct.JV_RA_RACE race) { switch (e) { case eOutput.Umanushi: Output.AppendFormat("{0},", race.head.RecordSpec); Output.AppendFormat("{0},", race.head.DataKubun); Output.AppendFormat("{0},", race.id.Year); Output.AppendFormat("{0},", race.id.MonthDay); Output.AppendFormat("{0},", race.id.JyoCD); Output.AppendFormat("{0},", race.id.Kaiji); Output.AppendFormat("{0},", race.id.Nichiji); Output.AppendFormat("{0},", race.id.RaceNum); Output.AppendFormat("{0},", race.RaceInfo.YoubiCD); Output.AppendFormat("{0},", race.RaceInfo.Hondai.Replace(" ", "")); Output.AppendFormat("{0},", race.RaceInfo.Fukudai.Replace(" ", "")); Output.AppendFormat("{0},", race.RaceInfo.Kakko.Replace(" ", "")); Output.AppendFormat("{0},", race.RaceInfo.Kubun); Output.AppendFormat("{0},", race.RaceInfo.Nkai); Output.AppendFormat("{0},", race.GradeCD); Output.AppendFormat("{0},", race.JyokenInfo.SyubetuCD); Output.AppendFormat("{0},", race.JyokenInfo.KigoCD); Output.AppendFormat("{0},", race.JyokenInfo.JyuryoCD); for (int i = 0; i < 5; i++) { Output.AppendFormat("{0},", race.JyokenInfo.JyokenCD[i]); } Output.AppendFormat("{0},", race.Kyori); Output.AppendFormat("{0},", race.TrackCD); Output.AppendFormat("{0},", race.CourseKubunCD); for (int i = 0; i < 7; i++) { Output.AppendFormat("{0},", int.Parse(race.Honsyokin[i]).ToString()); } Output.AppendFormat("{0},", race.HassoTime); Output.AppendFormat("{0}", race.TorokuTosu); Output.AppendFormat("{0}", System.Environment.NewLine); break; } }