EveryDB2のデータベースを読み込んでWinFormでGUI表示するサンプル
Révision | 629f1b75378d2ae9489d32057e3743a208dde96a (tree) |
---|---|
l'heure | 2021-05-26 21:20:46 |
Auteur | yoshy <yoshy@user...> |
Commiter | yoshy |
temp_20210526_2120
@@ -0,0 +1,24 @@ | ||
1 | +using System; | |
2 | +using System.Collections.Generic; | |
3 | +using System.Linq; | |
4 | +using System.Text; | |
5 | +using System.Threading.Tasks; | |
6 | +using UmaTest.App.Repository.Database.Entity.EveryDB2; | |
7 | +using UmaTest.Infra.Helper; | |
8 | + | |
9 | +namespace UmaTest.App.Adaptor.Gateway.ViewModel.Dto | |
10 | +{ | |
11 | + public class ChakudosuuRowDto : NUma | |
12 | + { | |
13 | + public ChakudosuuRowDto() | |
14 | + { | |
15 | + } | |
16 | + | |
17 | + public ChakudosuuRowDto(NUma uma) | |
18 | + { | |
19 | + BeanHelper.Copy(this, uma); | |
20 | + } | |
21 | + | |
22 | + public string SexName => CodeHelper.GetInstance().GetName(CodeHelper.SEX_CODE, Sexcd); | |
23 | + } | |
24 | +} |
@@ -0,0 +1,29 @@ | ||
1 | +using System; | |
2 | +using System.Collections.Generic; | |
3 | +using System.Linq; | |
4 | +using System.Text; | |
5 | +using System.Threading.Tasks; | |
6 | +using UmaTest.App.Repository.Database.Dto; | |
7 | +using UmaTest.App.Repository.Database.Entity.EveryDB2; | |
8 | +using UmaTest.Infra.Helper; | |
9 | + | |
10 | +namespace UmaTest.App.Adaptor.Gateway.ViewModel.Dto | |
11 | +{ | |
12 | + public class UmaRaceRowDto : NUmaRaceWithNRace | |
13 | + { | |
14 | + public UmaRaceRowDto() | |
15 | + { | |
16 | + } | |
17 | + | |
18 | + public UmaRaceRowDto(NUmaRaceWithNRace umaRace) | |
19 | + { | |
20 | + BeanHelper.Copy(this, umaRace); | |
21 | + } | |
22 | + | |
23 | + public string RaceName => !String.IsNullOrEmpty(Race.Hondai) | |
24 | + ? Race.Hondai | |
25 | + : CodeHelper.GetInstance().GetName(CodeHelper.JYOKEN_CODE1, Race.Jyokencd1, "不明"); | |
26 | + | |
27 | + public string GradeName => CodeHelper.GetInstance().GetName(CodeHelper.GRADE_CODE, Race.Gradecd, "-"); | |
28 | + } | |
29 | +} |
@@ -1,11 +1,17 @@ | ||
1 | 1 | using System.ComponentModel; |
2 | -using System.Drawing; | |
2 | +using UmaTest.App.Adaptor.Gateway.ViewModel.Dto; | |
3 | +using UmaTest.App.Repository.Database.Dto; | |
4 | +using UmaTest.App.Repository.Database.Entity.EveryDB2; | |
3 | 5 | using UmaTest.Infra.Command; |
4 | 6 | |
5 | 7 | namespace UmaTest.App.Presentation.ViewModel |
6 | 8 | { |
7 | - public interface IMainWindowViewModel : INotifyPropertyChanged | |
9 | + public interface IMainWindowViewModel | |
8 | 10 | { |
11 | + BindingList<ChakudosuuRowDto> ChakudosuuList { get; set; } | |
9 | 12 | ICommand CommandReadHorseList { get; } |
13 | + BindingList<UmaRaceRowDto> RaceList { get; set; } | |
14 | + | |
15 | + event PropertyChangedEventHandler PropertyChanged; | |
10 | 16 | } |
11 | 17 | } |
\ No newline at end of file |
@@ -1,12 +1,16 @@ | ||
1 | 1 | using System; |
2 | +using System.Collections.Generic; | |
2 | 3 | using System.ComponentModel; |
3 | 4 | using System.Drawing; |
4 | 5 | using System.Drawing.Imaging; |
5 | 6 | using System.IO; |
6 | 7 | using System.Windows.Input; |
8 | +using UmaTest.App.Adaptor.Gateway.ViewModel.Dto; | |
7 | 9 | using UmaTest.App.Domain.UseCase.Request; |
8 | 10 | using UmaTest.App.Domain.UseCase.Response; |
9 | 11 | using UmaTest.App.Presentation.Controller; |
12 | +using UmaTest.App.Repository.Database.Dto; | |
13 | +using UmaTest.App.Repository.Database.Entity.EveryDB2; | |
10 | 14 | using UmaTest.Infra.Command; |
11 | 15 | using ICommand = UmaTest.Infra.Command.ICommand; |
12 | 16 |
@@ -18,6 +22,10 @@ namespace UmaTest.App.Presentation.ViewModel | ||
18 | 22 | |
19 | 23 | private IWindowController wc; |
20 | 24 | |
25 | + BindingList<ChakudosuuRowDto> _chakudosuuList = new BindingList<ChakudosuuRowDto>(); | |
26 | + | |
27 | + BindingList<UmaRaceRowDto> _raceList = new BindingList<UmaRaceRowDto>(); | |
28 | + | |
21 | 29 | public MainWindowViewModel(IWindowController wc) |
22 | 30 | { |
23 | 31 | this.wc = wc; |
@@ -25,11 +33,24 @@ namespace UmaTest.App.Presentation.ViewModel | ||
25 | 33 | CommandReadHorseList = new DelegateCommand("Read Horse List (&R)", () => true, OnReadHorseList); |
26 | 34 | } |
27 | 35 | |
36 | + public BindingList<ChakudosuuRowDto> ChakudosuuList | |
37 | + { | |
38 | + get => _chakudosuuList; | |
39 | + set => PropertyChanged.RaiseIfSet(() => ChakudosuuList, ref _chakudosuuList, value); | |
40 | + } | |
41 | + | |
42 | + public BindingList<UmaRaceRowDto> RaceList | |
43 | + { | |
44 | + get => _raceList; | |
45 | + set => PropertyChanged.RaiseIfSet(() => RaceList, ref _raceList, value); | |
46 | + } | |
47 | + | |
28 | 48 | public ICommand CommandReadHorseList { get; private set; } |
29 | 49 | |
30 | - public void OnReadHorseList() | |
50 | + private void OnReadHorseList() | |
31 | 51 | { |
32 | - LoadHorseRaceSummaryRequest req = new LoadHorseRaceSummaryRequest("トウカイテイオー" ); | |
52 | + LoadHorseRaceSummaryRequest req = new LoadHorseRaceSummaryRequest("トウカイテイオー\nミホノブルボン"); | |
53 | + | |
33 | 54 | LoadHorseRaceSummaryResponse res = wc.Execute(req) as LoadHorseRaceSummaryResponse; |
34 | 55 | } |
35 | 56 | } |
@@ -1,9 +1,11 @@ | ||
1 | 1 | using System; |
2 | 2 | using System.Collections.Generic; |
3 | +using System.ComponentModel; | |
3 | 4 | using System.Linq; |
4 | 5 | using System.Text; |
5 | 6 | using System.Threading.Tasks; |
6 | 7 | using Umatest.App.Presentation.Presenter; |
8 | +using UmaTest.App.Adaptor.Gateway.ViewModel.Dto; | |
7 | 9 | using UmaTest.App.Domain.UseCase.Request; |
8 | 10 | using UmaTest.App.Domain.UseCase.Response; |
9 | 11 | using UmaTest.App.Presentation.ViewModel; |
@@ -28,22 +30,51 @@ namespace UmaTest.App.Presentation.Presenter | ||
28 | 30 | LoadHorseRaceSummaryRequest req = baseRes.Request as LoadHorseRaceSummaryRequest; |
29 | 31 | LoadHorseRaceSummaryResponse res = baseRes as LoadHorseRaceSummaryResponse; |
30 | 32 | |
31 | - List<string> bameiList = res.HorseList; | |
33 | + List<string> bameiList = res.Bameis; | |
32 | 34 | |
33 | - foreach(string bamei in bameiList) | |
35 | + vm.ChakudosuuList.Clear(); | |
36 | + vm.RaceList.Clear(); | |
37 | + | |
38 | + foreach (string bamei in bameiList) | |
34 | 39 | { |
35 | 40 | Logger.Info($"馬名: {bamei}"); |
36 | 41 | |
37 | - foreach (NUmaRaceWithNRace race in res.Races[bamei]) | |
42 | + foreach (ChakudosuuSummary summary in res.Summaries[bamei]) | |
38 | 43 | { |
39 | - NRace detail = race.Race; | |
40 | - Logger.Debug($"{detail.Year}/{detail.Monthday.Substring(0, 2)}/{detail.Monthday.Substring(2, 2)} - {detail.Hondai} - {detail.Kyori} - {detail.Gradecd} - {detail.Jyokencd1} - {race.Nyusenjyuni} - {race.Kakuteijyuni}"); | |
44 | + Logger.Debug($"{summary}"); | |
41 | 45 | } |
42 | 46 | |
43 | - foreach (ChakudosuuSummary summary in res.Summaries[bamei]) | |
47 | + ChakudosuuRowDto dto; | |
48 | + | |
49 | + if (!res.Horses.TryGetValue(bamei, out NUma uma)) | |
44 | 50 | { |
45 | - Logger.Debug($"{summary}"); | |
51 | + Logger.Warn($"馬名: {bamei} の馬情報が見つかりませんでした"); | |
52 | + continue; | |
46 | 53 | } |
54 | + | |
55 | + dto = new ChakudosuuRowDto(uma); | |
56 | + vm.ChakudosuuList.Add(dto); | |
57 | + } | |
58 | + | |
59 | + if (vm.ChakudosuuList.Count == 0) | |
60 | + { | |
61 | + return res; | |
62 | + } | |
63 | + | |
64 | + string bamei2 = vm.ChakudosuuList[0].Bamei; | |
65 | + | |
66 | + if (!res.Races.TryGetValue(bamei2, out IEnumerable<NUmaRaceWithNRace> umaRaces) || (umaRaces.Count() == 0)) | |
67 | + { | |
68 | + Logger.Warn($"馬名: {bamei2} の馬レース情報が見つかりませんでした"); | |
69 | + return res; | |
70 | + } | |
71 | + | |
72 | + foreach (NUmaRaceWithNRace umaRace in umaRaces) | |
73 | + { | |
74 | + NRace detail = umaRace.Race; | |
75 | + Logger.Debug($"{detail.Year}/{detail.Monthday.Substring(0, 2)}/{detail.Monthday.Substring(2, 2)} - {detail.Hondai} - {detail.Kyori} - {detail.Gradecd} - {detail.Jyokencd1} - {umaRace.Nyusenjyuni} - {umaRace.Kakuteijyuni}"); | |
76 | + | |
77 | + vm.RaceList.Add(new UmaRaceRowDto(umaRace)); | |
47 | 78 | } |
48 | 79 | |
49 | 80 | return res; |
@@ -72,12 +72,14 @@ namespace UmaTest.App.DI | ||
72 | 72 | /// Logics |
73 | 73 | /// |
74 | 74 | |
75 | + di.Register<IUmaLogic, UmaLogic>(); | |
75 | 76 | di.Register<IUmaRaceLogic, UmaRaceLogic>(); |
76 | 77 | |
77 | 78 | /// |
78 | 79 | /// Daos |
79 | 80 | /// |
80 | 81 | |
82 | + di.Register<INUmaDao, NUmaDao>(); | |
81 | 83 | di.Register<INUmaRaceDao, NUmaRaceDao>(); |
82 | 84 | |
83 | 85 | /// |
@@ -0,0 +1,10 @@ | ||
1 | +using System.Collections.Generic; | |
2 | +using UmaTest.App.Repository.Database.Entity.EveryDB2; | |
3 | + | |
4 | +namespace UmaTest.App.Domain.Model | |
5 | +{ | |
6 | + public interface IUmaLogic | |
7 | + { | |
8 | + Dictionary<string, NUma> LoadHorses(List<string> bameiList); | |
9 | + } | |
10 | +} | |
\ No newline at end of file |
@@ -0,0 +1,30 @@ | ||
1 | +using PetaPoco; | |
2 | +using System; | |
3 | +using System.Collections.Generic; | |
4 | +using System.Linq; | |
5 | +using System.Text; | |
6 | +using System.Threading.Tasks; | |
7 | +using UmaTest.App.Repository.Database.Dao; | |
8 | +using UmaTest.App.Repository.Database.Dto; | |
9 | +using UmaTest.App.Repository.Database.Entity.EveryDB2; | |
10 | +using UmaTest.Infra.Helper; | |
11 | + | |
12 | +namespace UmaTest.App.Domain.Model | |
13 | +{ | |
14 | + internal class UmaLogic : IUmaLogic | |
15 | + { | |
16 | + INUmaDao dao; | |
17 | + public UmaLogic(INUmaDao dao) | |
18 | + { | |
19 | + this.dao = dao; | |
20 | + } | |
21 | + | |
22 | + public Dictionary<string, NUma> LoadHorses(List<string> bameiList) | |
23 | + { | |
24 | + return LogicHelper.tryLogic(() => | |
25 | + { | |
26 | + return dao.findAllHorsesByBameiList(bameiList); | |
27 | + }); | |
28 | + } | |
29 | + } | |
30 | +} |
@@ -0,0 +1,10 @@ | ||
1 | +using System.Collections.Generic; | |
2 | +using UmaTest.App.Repository.Database.Entity.EveryDB2; | |
3 | + | |
4 | +namespace UmaTest.App.Repository.Database.Dao | |
5 | +{ | |
6 | + public interface INUmaDao | |
7 | + { | |
8 | + Dictionary<string, NUma> findAllHorsesByBameiList(List<string> bameiList); | |
9 | + } | |
10 | +} | |
\ No newline at end of file |
@@ -0,0 +1,44 @@ | ||
1 | +using PetaPoco; | |
2 | +using System; | |
3 | +using System.Collections.Generic; | |
4 | +using System.Linq; | |
5 | +using System.Text; | |
6 | +using System.Threading.Tasks; | |
7 | +using UmaTest.App.Repository.Database.Dto; | |
8 | +using UmaTest.App.Repository.Database.Entity.EveryDB2; | |
9 | +using UmaTest.Infra.Helper; | |
10 | + | |
11 | +namespace UmaTest.App.Repository.Database.Dao | |
12 | +{ | |
13 | + public class NUmaDao : INUmaDao | |
14 | + { | |
15 | + private IDatabase db; | |
16 | + | |
17 | + public NUmaDao(IDatabase db) | |
18 | + { | |
19 | + this.db = db; | |
20 | + } | |
21 | + | |
22 | + public Dictionary<string, NUma> findAllHorsesByBameiList(List<string> bameiList) | |
23 | + { | |
24 | + return DbHelper.tryQuery(() => | |
25 | + { | |
26 | + Dictionary<string, NUma> res = new Dictionary<string, NUma>(); | |
27 | + | |
28 | + string[] bameis = bameiList.ToArray(); | |
29 | + var sql = Sql.Builder | |
30 | + .Where("bamei in (@bameis)", new { bameis = bameis}) | |
31 | + .OrderBy("bamei"); | |
32 | + | |
33 | + var horses = db.Query<NUma>(sql); | |
34 | + | |
35 | + foreach (NUma horse in horses) | |
36 | + { | |
37 | + res.Add(horse.Bamei, horse); | |
38 | + } | |
39 | + | |
40 | + return res; | |
41 | + }); | |
42 | + } | |
43 | + } | |
44 | +} |
@@ -30,7 +30,7 @@ namespace UmaTest.App.Repository.Database.Dao | ||
30 | 30 | var sql = Sql.Builder |
31 | 31 | .Append("SELECT ur.*, r.*") |
32 | 32 | .From("n_uma_race ur") |
33 | - .Append("INNER JOIN n_race r USING(year, jyocd, nichiji, racenum)") | |
33 | + .Append("INNER JOIN n_race r USING(year, jyocd, kaiji, nichiji, racenum)") | |
34 | 34 | .Where("ur.bamei = @0", bamei) |
35 | 35 | .OrderBy("ur.year desc, ur.monthday desc"); |
36 | 36 |
@@ -46,7 +46,7 @@ namespace UmaTest.App.Repository.Database.Dao | ||
46 | 46 | { |
47 | 47 | return DbHelper.tryQuery(() => |
48 | 48 | { |
49 | - string sql = DbHelper.GetResourceSQLFile(this.GetType()); | |
49 | + string sql = DbHelper.GetResourceSQLFile(this); | |
50 | 50 | |
51 | 51 | return db.Query<ChakudosuuSummary>(sql, bamei).ToList(); |
52 | 52 | }); |
@@ -22,7 +22,8 @@ namespace UmaTest.App.Repository.Database.Dto | ||
22 | 22 | } |
23 | 23 | |
24 | 24 | [Ignore] |
25 | - public NUmaRace UmaRace { get; set; } | |
25 | + public string YearMonthDay { get => Year + "/" + Monthday.Substring(0,2) + "/" + Monthday.Substring(2,2); } | |
26 | + | |
26 | 27 | [Ignore] |
27 | 28 | public NRace Race { get; set; } |
28 | 29 | } |
@@ -2,12 +2,16 @@ | ||
2 | 2 | using UmaTest.App.Domain.UseCase.Request; |
3 | 3 | using UmaTest.App.Domain.UseCase.Response; |
4 | 4 | using UmaTest.App.Repository.Database.Dto; |
5 | +using UmaTest.App.Repository.Database.Entity.EveryDB2; | |
5 | 6 | |
6 | 7 | namespace UmaTest.App.Domain.Translator |
7 | 8 | { |
8 | 9 | public interface ILoadHorseRaceSummaryTranslator |
9 | 10 | { |
10 | - LoadHorseRaceSummaryResponse Translate(LoadHorseRaceSummaryResponse res, LoadHorseRaceSummaryRequest req, | |
11 | - Dictionary<string, IEnumerable<NUmaRaceWithNRace>> races, Dictionary<string, IEnumerable<ChakudosuuSummary>> summaries); | |
11 | + LoadHorseRaceSummaryResponse Translate( | |
12 | + LoadHorseRaceSummaryResponse res, LoadHorseRaceSummaryRequest req, | |
13 | + Dictionary<string, NUma> horses, | |
14 | + Dictionary<string, IEnumerable<NUmaRaceWithNRace>> races, | |
15 | + Dictionary<string, IEnumerable<ChakudosuuSummary>> summaries); | |
12 | 16 | } |
13 | 17 | } |
\ No newline at end of file |
@@ -6,15 +6,21 @@ using System.Threading.Tasks; | ||
6 | 6 | using UmaTest.App.Domain.UseCase.Request; |
7 | 7 | using UmaTest.App.Domain.UseCase.Response; |
8 | 8 | using UmaTest.App.Repository.Database.Dto; |
9 | +using UmaTest.App.Repository.Database.Entity.EveryDB2; | |
9 | 10 | |
10 | 11 | namespace UmaTest.App.Domain.Translator |
11 | 12 | { |
12 | 13 | public class LoadHorseRaceSummaryTranslator : ILoadHorseRaceSummaryTranslator |
13 | 14 | { |
14 | - public LoadHorseRaceSummaryResponse Translate(LoadHorseRaceSummaryResponse res, LoadHorseRaceSummaryRequest req, | |
15 | - Dictionary<string, IEnumerable<NUmaRaceWithNRace>> races, Dictionary<string, IEnumerable<ChakudosuuSummary>> summaries) | |
15 | + public LoadHorseRaceSummaryResponse Translate( | |
16 | + LoadHorseRaceSummaryResponse res, LoadHorseRaceSummaryRequest req, | |
17 | + Dictionary<string, NUma> horses, | |
18 | + Dictionary<string, IEnumerable<NUmaRaceWithNRace>> races, | |
19 | + Dictionary<string, IEnumerable<ChakudosuuSummary>> summaries) | |
16 | 20 | { |
17 | - res.HorseList = req.HorseList; | |
21 | + res.Bameis = req.HorseList; | |
22 | + | |
23 | + res.Horses = horses; | |
18 | 24 | res.Races = races; |
19 | 25 | res.Summaries = summaries; |
20 | 26 |
@@ -8,17 +8,20 @@ using UmaTest.App.Domain.Translator; | ||
8 | 8 | using UmaTest.App.Domain.UseCase.Request; |
9 | 9 | using UmaTest.App.Domain.UseCase.Response; |
10 | 10 | using UmaTest.App.Repository.Database.Dto; |
11 | +using UmaTest.App.Repository.Database.Entity.EveryDB2; | |
11 | 12 | using UmaTest.Infra.UseCase; |
12 | 13 | |
13 | 14 | namespace UmaTest.App.Domain.UseCase.Interactor |
14 | 15 | { |
15 | 16 | public class LoadHorseRaceSummaryInteractor : ILoadHorseRaceSummaryInteractor |
16 | 17 | { |
17 | - IUmaRaceLogic logic; | |
18 | + IUmaLogic logicUma; | |
19 | + IUmaRaceLogic logicUmaRace; | |
18 | 20 | ILoadHorseRaceSummaryTranslator translator; |
19 | - public LoadHorseRaceSummaryInteractor(IUmaRaceLogic logic, ILoadHorseRaceSummaryTranslator translator) : base() | |
21 | + public LoadHorseRaceSummaryInteractor(IUmaLogic logicUma, IUmaRaceLogic logicUmaRace, ILoadHorseRaceSummaryTranslator translator) : base() | |
20 | 22 | { |
21 | - this.logic = logic; | |
23 | + this.logicUma = logicUma; | |
24 | + this.logicUmaRace = logicUmaRace; | |
22 | 25 | this.translator = translator; |
23 | 26 | } |
24 | 27 |
@@ -27,10 +30,12 @@ namespace UmaTest.App.Domain.UseCase.Interactor | ||
27 | 30 | LoadHorseRaceSummaryRequest req = baseReq as LoadHorseRaceSummaryRequest; |
28 | 31 | LoadHorseRaceSummaryResponse res = req.Response as LoadHorseRaceSummaryResponse; |
29 | 32 | |
30 | - Dictionary<string, IEnumerable<NUmaRaceWithNRace>> races = logic.LoadRaces(req.HorseList); | |
31 | - Dictionary<string, IEnumerable<ChakudosuuSummary>> summaries = logic.LoadChakudosuuSummaries(req.HorseList); | |
33 | + Dictionary<string, NUma> horses = logicUma.LoadHorses(req.HorseList); | |
32 | 34 | |
33 | - return translator.Translate(res, req, races, summaries); | |
35 | + Dictionary<string, IEnumerable<NUmaRaceWithNRace>> races = logicUmaRace.LoadRaces(req.HorseList); | |
36 | + Dictionary<string, IEnumerable<ChakudosuuSummary>> summaries = logicUmaRace.LoadChakudosuuSummaries(req.HorseList); | |
37 | + | |
38 | + return translator.Translate(res, req, horses, races, summaries); | |
34 | 39 | } |
35 | 40 | } |
36 | 41 | } |
@@ -5,6 +5,7 @@ using System.Text; | ||
5 | 5 | using System.Threading.Tasks; |
6 | 6 | using UmaTest.App.Domain.UseCase.Request; |
7 | 7 | using UmaTest.App.Repository.Database.Dto; |
8 | +using UmaTest.App.Repository.Database.Entity.EveryDB2; | |
8 | 9 | using UmaTest.Infra.UseCase; |
9 | 10 | |
10 | 11 | namespace UmaTest.App.Domain.UseCase.Response |
@@ -15,8 +16,9 @@ namespace UmaTest.App.Domain.UseCase.Response | ||
15 | 16 | { |
16 | 17 | } |
17 | 18 | |
18 | - public List<string> HorseList { get; internal set; } | |
19 | - public Dictionary<string, IEnumerable<NUmaRaceWithNRace>> Races { get; internal set; } | |
20 | - public Dictionary<string, IEnumerable<ChakudosuuSummary>> Summaries { get; internal set; } | |
19 | + public List<string> Bameis { get; set; } | |
20 | + public Dictionary<string, NUma> Horses { get; set; } | |
21 | + public Dictionary<string, IEnumerable<NUmaRaceWithNRace>> Races { get; set; } | |
22 | + public Dictionary<string, IEnumerable<ChakudosuuSummary>> Summaries { get; set; } | |
21 | 23 | } |
22 | 24 | } |
@@ -34,7 +34,22 @@ namespace UmaTest.App.Presentation.View | ||
34 | 34 | this.toolStripMenuOpenHorseList = new System.Windows.Forms.ToolStripMenuItem(); |
35 | 35 | this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator(); |
36 | 36 | this.toolStripMenuQuit = new System.Windows.Forms.ToolStripMenuItem(); |
37 | + this.splitContainer1 = new System.Windows.Forms.SplitContainer(); | |
38 | + this.splitContainer2 = new System.Windows.Forms.SplitContainer(); | |
39 | + this.dataGridView1 = new System.Windows.Forms.DataGridView(); | |
40 | + this.treeView1 = new System.Windows.Forms.TreeView(); | |
41 | + this.dataGridView2 = new System.Windows.Forms.DataGridView(); | |
37 | 42 | this.menuStrip1.SuspendLayout(); |
43 | + ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit(); | |
44 | + this.splitContainer1.Panel1.SuspendLayout(); | |
45 | + this.splitContainer1.Panel2.SuspendLayout(); | |
46 | + this.splitContainer1.SuspendLayout(); | |
47 | + ((System.ComponentModel.ISupportInitialize)(this.splitContainer2)).BeginInit(); | |
48 | + this.splitContainer2.Panel1.SuspendLayout(); | |
49 | + this.splitContainer2.Panel2.SuspendLayout(); | |
50 | + this.splitContainer2.SuspendLayout(); | |
51 | + ((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).BeginInit(); | |
52 | + ((System.ComponentModel.ISupportInitialize)(this.dataGridView2)).BeginInit(); | |
38 | 53 | this.SuspendLayout(); |
39 | 54 | // |
40 | 55 | // menuStrip1 |
@@ -44,7 +59,7 @@ namespace UmaTest.App.Presentation.View | ||
44 | 59 | this.menuStrip1.Location = new System.Drawing.Point(0, 0); |
45 | 60 | this.menuStrip1.Name = "menuStrip1"; |
46 | 61 | this.menuStrip1.Padding = new System.Windows.Forms.Padding(5, 2, 0, 2); |
47 | - this.menuStrip1.Size = new System.Drawing.Size(686, 24); | |
62 | + this.menuStrip1.Size = new System.Drawing.Size(735, 24); | |
48 | 63 | this.menuStrip1.TabIndex = 0; |
49 | 64 | this.menuStrip1.Text = "menuStrip1"; |
50 | 65 | // |
@@ -75,11 +90,87 @@ namespace UmaTest.App.Presentation.View | ||
75 | 90 | this.toolStripMenuQuit.Size = new System.Drawing.Size(152, 22); |
76 | 91 | this.toolStripMenuQuit.Text = "Quit"; |
77 | 92 | // |
93 | + // splitContainer1 | |
94 | + // | |
95 | + this.splitContainer1.Dock = System.Windows.Forms.DockStyle.Fill; | |
96 | + this.splitContainer1.Location = new System.Drawing.Point(0, 24); | |
97 | + this.splitContainer1.Name = "splitContainer1"; | |
98 | + // | |
99 | + // splitContainer1.Panel1 | |
100 | + // | |
101 | + this.splitContainer1.Panel1.Controls.Add(this.treeView1); | |
102 | + // | |
103 | + // splitContainer1.Panel2 | |
104 | + // | |
105 | + this.splitContainer1.Panel2.Controls.Add(this.splitContainer2); | |
106 | + this.splitContainer1.Size = new System.Drawing.Size(735, 496); | |
107 | + this.splitContainer1.SplitterDistance = 245; | |
108 | + this.splitContainer1.TabIndex = 1; | |
109 | + // | |
110 | + // splitContainer2 | |
111 | + // | |
112 | + this.splitContainer2.Dock = System.Windows.Forms.DockStyle.Fill; | |
113 | + this.splitContainer2.Location = new System.Drawing.Point(0, 0); | |
114 | + this.splitContainer2.Name = "splitContainer2"; | |
115 | + this.splitContainer2.Orientation = System.Windows.Forms.Orientation.Horizontal; | |
116 | + // | |
117 | + // splitContainer2.Panel1 | |
118 | + // | |
119 | + this.splitContainer2.Panel1.Controls.Add(this.dataGridView1); | |
120 | + // | |
121 | + // splitContainer2.Panel2 | |
122 | + // | |
123 | + this.splitContainer2.Panel2.Controls.Add(this.dataGridView2); | |
124 | + this.splitContainer2.Size = new System.Drawing.Size(486, 496); | |
125 | + this.splitContainer2.SplitterDistance = 222; | |
126 | + this.splitContainer2.TabIndex = 0; | |
127 | + // | |
128 | + // dataGridView1 | |
129 | + // | |
130 | + this.dataGridView1.AllowUserToAddRows = false; | |
131 | + this.dataGridView1.AllowUserToDeleteRows = false; | |
132 | + this.dataGridView1.AllowUserToResizeRows = false; | |
133 | + this.dataGridView1.AutoSizeColumnsMode = System.Windows.Forms.DataGridViewAutoSizeColumnsMode.AllCells; | |
134 | + this.dataGridView1.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize; | |
135 | + this.dataGridView1.Dock = System.Windows.Forms.DockStyle.Fill; | |
136 | + this.dataGridView1.Location = new System.Drawing.Point(0, 0); | |
137 | + this.dataGridView1.MultiSelect = false; | |
138 | + this.dataGridView1.Name = "dataGridView1"; | |
139 | + this.dataGridView1.RowTemplate.Height = 21; | |
140 | + this.dataGridView1.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect; | |
141 | + this.dataGridView1.Size = new System.Drawing.Size(486, 222); | |
142 | + this.dataGridView1.TabIndex = 0; | |
143 | + // | |
144 | + // treeView1 | |
145 | + // | |
146 | + this.treeView1.Dock = System.Windows.Forms.DockStyle.Fill; | |
147 | + this.treeView1.Location = new System.Drawing.Point(0, 0); | |
148 | + this.treeView1.Name = "treeView1"; | |
149 | + this.treeView1.Size = new System.Drawing.Size(245, 496); | |
150 | + this.treeView1.TabIndex = 0; | |
151 | + // | |
152 | + // dataGridView2 | |
153 | + // | |
154 | + this.dataGridView2.AllowUserToAddRows = false; | |
155 | + this.dataGridView2.AllowUserToDeleteRows = false; | |
156 | + this.dataGridView2.AllowUserToResizeRows = false; | |
157 | + this.dataGridView2.AutoSizeColumnsMode = System.Windows.Forms.DataGridViewAutoSizeColumnsMode.AllCells; | |
158 | + this.dataGridView2.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize; | |
159 | + this.dataGridView2.Dock = System.Windows.Forms.DockStyle.Fill; | |
160 | + this.dataGridView2.Location = new System.Drawing.Point(0, 0); | |
161 | + this.dataGridView2.MultiSelect = false; | |
162 | + this.dataGridView2.Name = "dataGridView2"; | |
163 | + this.dataGridView2.RowTemplate.Height = 21; | |
164 | + this.dataGridView2.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect; | |
165 | + this.dataGridView2.Size = new System.Drawing.Size(486, 270); | |
166 | + this.dataGridView2.TabIndex = 0; | |
167 | + // | |
78 | 168 | // MainWindow |
79 | 169 | // |
80 | 170 | this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); |
81 | 171 | this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; |
82 | - this.ClientSize = new System.Drawing.Size(686, 360); | |
172 | + this.ClientSize = new System.Drawing.Size(735, 520); | |
173 | + this.Controls.Add(this.splitContainer1); | |
83 | 174 | this.Controls.Add(this.menuStrip1); |
84 | 175 | this.MainMenuStrip = this.menuStrip1; |
85 | 176 | this.Margin = new System.Windows.Forms.Padding(3, 2, 3, 2); |
@@ -87,6 +178,16 @@ namespace UmaTest.App.Presentation.View | ||
87 | 178 | this.Text = "UmaTest"; |
88 | 179 | this.menuStrip1.ResumeLayout(false); |
89 | 180 | this.menuStrip1.PerformLayout(); |
181 | + this.splitContainer1.Panel1.ResumeLayout(false); | |
182 | + this.splitContainer1.Panel2.ResumeLayout(false); | |
183 | + ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).EndInit(); | |
184 | + this.splitContainer1.ResumeLayout(false); | |
185 | + this.splitContainer2.Panel1.ResumeLayout(false); | |
186 | + this.splitContainer2.Panel2.ResumeLayout(false); | |
187 | + ((System.ComponentModel.ISupportInitialize)(this.splitContainer2)).EndInit(); | |
188 | + this.splitContainer2.ResumeLayout(false); | |
189 | + ((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).EndInit(); | |
190 | + ((System.ComponentModel.ISupportInitialize)(this.dataGridView2)).EndInit(); | |
90 | 191 | this.ResumeLayout(false); |
91 | 192 | this.PerformLayout(); |
92 | 193 |
@@ -99,6 +200,11 @@ namespace UmaTest.App.Presentation.View | ||
99 | 200 | private System.Windows.Forms.ToolStripMenuItem toolStripMenuQuit; |
100 | 201 | private System.Windows.Forms.ToolStripMenuItem toolStripMenuOpenHorseList; |
101 | 202 | private System.Windows.Forms.ToolStripSeparator toolStripSeparator1; |
203 | + private System.Windows.Forms.SplitContainer splitContainer1; | |
204 | + private System.Windows.Forms.SplitContainer splitContainer2; | |
205 | + private System.Windows.Forms.DataGridView dataGridView1; | |
206 | + private System.Windows.Forms.TreeView treeView1; | |
207 | + private System.Windows.Forms.DataGridView dataGridView2; | |
102 | 208 | } |
103 | 209 | } |
104 | 210 |
@@ -12,7 +12,10 @@ using System.Threading.Tasks; | ||
12 | 12 | using System.Windows.Forms; |
13 | 13 | using UmaTest.App.Presentation.Controller; |
14 | 14 | using UmaTest.App.Presentation.ViewModel; |
15 | +using UmaTest.App.Repository.Database.Dto; | |
16 | +using UmaTest.App.Repository.Database.Entity.EveryDB2; | |
15 | 17 | using UmaTest.Infra.Command; |
18 | +using UmaTest.Infra.Domain.Translator; | |
16 | 19 | |
17 | 20 | namespace UmaTest.App.Presentation.View |
18 | 21 | { |
@@ -20,6 +23,9 @@ namespace UmaTest.App.Presentation.View | ||
20 | 23 | { |
21 | 24 | private IMainWindowViewModel vm; |
22 | 25 | |
26 | + private BindingSource bindingSource1 = new BindingSource(); | |
27 | + private BindingSource bindingSource2 = new BindingSource(); | |
28 | + | |
23 | 29 | public MainWindow(IMainWindowViewModel vm, ICommandManager cm) |
24 | 30 | { |
25 | 31 | InitializeComponent(); |
@@ -31,8 +37,125 @@ namespace UmaTest.App.Presentation.View | ||
31 | 37 | //this.pictureBox1.MouseUp += controller.MouseEvents[(int)MouseEventID.OnMouseUp]; |
32 | 38 | //this.pictureBox1.MouseWheel += controller.MouseEvents[(int)MouseEventID.OnMouseWheel]; |
33 | 39 | |
40 | + // | |
41 | + // Register commands | |
42 | + // | |
43 | + | |
34 | 44 | cm.Bind(vm.CommandReadHorseList, this.toolStripMenuOpenHorseList); |
35 | 45 | |
46 | + // | |
47 | + // DataGridView1 | |
48 | + // | |
49 | + | |
50 | + bindingSource1.DataSource = vm.ChakudosuuList; | |
51 | + | |
52 | + dataGridView1.AutoGenerateColumns = false; | |
53 | + dataGridView1.AutoSize = true; | |
54 | + dataGridView1.DataSource = bindingSource1; | |
55 | + | |
56 | + DataGridViewColumn[] grid1Cols = new DataGridViewColumn[] | |
57 | + { | |
58 | + new DataGridViewTextBoxColumn | |
59 | + { | |
60 | + DataPropertyName = "Bamei", | |
61 | + Name = "馬名", | |
62 | + ReadOnly = true | |
63 | + }, | |
64 | + new DataGridViewTextBoxColumn | |
65 | + { | |
66 | + DataPropertyName = "SexName", | |
67 | + Name = "性別", | |
68 | + ReadOnly = true | |
69 | + }, | |
70 | + }; | |
71 | + | |
72 | + dataGridView1.Columns.AddRange(grid1Cols); | |
73 | + | |
74 | + // | |
75 | + // DataGridView2 | |
76 | + // | |
77 | + | |
78 | + bindingSource2.DataSource = vm.RaceList; | |
79 | + | |
80 | + dataGridView2.AutoGenerateColumns = false; | |
81 | + dataGridView2.AutoSize = true; | |
82 | + dataGridView2.DataSource = bindingSource2; | |
83 | + | |
84 | + DataGridViewColumn[] grid2Cols = new DataGridViewColumn[] | |
85 | + { | |
86 | + new DataGridViewTextBoxColumn | |
87 | + { | |
88 | + DataPropertyName = "YearMonthDay", | |
89 | + Name = "日付", | |
90 | + ReadOnly = true | |
91 | + }, | |
92 | + new DataGridViewTextBoxColumn | |
93 | + { | |
94 | + DataPropertyName = "RaceName", | |
95 | + Name = "レース名", | |
96 | + ReadOnly = true | |
97 | + }, | |
98 | + new DataGridViewTextBoxColumn | |
99 | + { | |
100 | + DataPropertyName = "GradeName", | |
101 | + Name = "グレード", | |
102 | + ReadOnly = true | |
103 | + }, | |
104 | + new DataGridViewTextBoxColumn | |
105 | + { | |
106 | + DataPropertyName = "Race.Kyori", | |
107 | + Name = "距離", | |
108 | + ReadOnly = true | |
109 | + }, | |
110 | + new DataGridViewTextBoxColumn | |
111 | + { | |
112 | + DataPropertyName = "Ninki", | |
113 | + Name = "人気", | |
114 | + ReadOnly = true | |
115 | + }, | |
116 | + new DataGridViewTextBoxColumn | |
117 | + { | |
118 | + DataPropertyName = "Kakuteijyuni", | |
119 | + Name = "着順", | |
120 | + ReadOnly = true | |
121 | + }, | |
122 | + new DataGridViewTextBoxColumn | |
123 | + { | |
124 | + DataPropertyName = "Kisyuryakusyo", | |
125 | + Name = "騎手", | |
126 | + ReadOnly = true | |
127 | + }, | |
128 | + new DataGridViewTextBoxColumn | |
129 | + { | |
130 | + DataPropertyName = "Futan", | |
131 | + Name = "負担", | |
132 | + ReadOnly = true | |
133 | + }, | |
134 | + new DataGridViewTextBoxColumn | |
135 | + { | |
136 | + DataPropertyName = "Bataijyu", | |
137 | + Name = "馬体重", | |
138 | + ReadOnly = true | |
139 | + }, | |
140 | + new DataGridViewTextBoxColumn | |
141 | + { | |
142 | + DataPropertyName = "Time", | |
143 | + Name = "タイム", | |
144 | + ReadOnly = true | |
145 | + }, | |
146 | + }; | |
147 | + | |
148 | + dataGridView2.Columns.AddRange(grid2Cols); | |
149 | + | |
150 | + // | |
151 | + // Custom Type Descriptor | |
152 | + // | |
153 | + | |
154 | + TypeDescriptor.AddProvider( | |
155 | + new NestedTypeDescriptionProvider<NRace>(TypeDescriptor.GetProvider(typeof(NUmaRaceWithNRace))), | |
156 | + typeof(NUmaRaceWithNRace) | |
157 | + ); | |
158 | + | |
36 | 159 | this.vm = vm; |
37 | 160 | } |
38 | 161 |
@@ -0,0 +1,43 @@ | ||
1 | +using System; | |
2 | +using System.ComponentModel; | |
3 | + | |
4 | +namespace UmaTest.Infra.Domain.Translator | |
5 | +{ | |
6 | + public class ChildPropertyDescriptor : PropertyDescriptor | |
7 | + { | |
8 | + private PropertyDescriptor _subPD; | |
9 | + private PropertyDescriptor _parentPD; | |
10 | + | |
11 | + public ChildPropertyDescriptor(PropertyDescriptor parentPD, PropertyDescriptor subPD, string pdname) | |
12 | + : base(pdname, null) | |
13 | + { | |
14 | + _subPD = subPD; | |
15 | + _parentPD = parentPD; | |
16 | + } | |
17 | + | |
18 | + public override bool IsReadOnly { get { return false; } } | |
19 | + public override void ResetValue(object component) { } | |
20 | + public override bool CanResetValue(object component) { return false; } | |
21 | + public override bool ShouldSerializeValue(object component) | |
22 | + { | |
23 | + return true; | |
24 | + } | |
25 | + | |
26 | + public override Type ComponentType | |
27 | + { | |
28 | + get { return _parentPD.ComponentType; } | |
29 | + } | |
30 | + public override Type PropertyType { get { return _subPD.PropertyType; } } | |
31 | + | |
32 | + public override object GetValue(object component) | |
33 | + { | |
34 | + return _subPD.GetValue(_parentPD.GetValue(component)); | |
35 | + } | |
36 | + | |
37 | + public override void SetValue(object component, object value) | |
38 | + { | |
39 | + _subPD.SetValue(_parentPD.GetValue(component), value); | |
40 | + OnValueChanged(component, EventArgs.Empty); | |
41 | + } | |
42 | + } | |
43 | +} | |
\ No newline at end of file |
@@ -0,0 +1,27 @@ | ||
1 | +using System; | |
2 | +using System.Collections.Generic; | |
3 | +using System.ComponentModel; | |
4 | +using System.Linq; | |
5 | +using System.Text; | |
6 | +using System.Threading.Tasks; | |
7 | + | |
8 | +namespace UmaTest.Infra.Domain.Translator | |
9 | +{ | |
10 | + /// @see https://stackoverflow.com/questions/14259080/child-level-object-property-binding-in-datagridview-controls-in-c-sharp-winfor | |
11 | + public class NestedTypeDescriptionProvider<T> : TypeDescriptionProvider | |
12 | + { | |
13 | + private ICustomTypeDescriptor td; | |
14 | + public NestedTypeDescriptionProvider(TypeDescriptionProvider parent) | |
15 | + : base(parent) | |
16 | + { | |
17 | + } | |
18 | + public override ICustomTypeDescriptor GetTypeDescriptor(Type objectType, object instance) | |
19 | + { | |
20 | + if (td == null) | |
21 | + { | |
22 | + td = new NestedTypeDescriptor(base.GetTypeDescriptor(objectType, instance), typeof(T)); | |
23 | + } | |
24 | + return td; | |
25 | + } | |
26 | + } | |
27 | +} |
@@ -0,0 +1,44 @@ | ||
1 | +using System; | |
2 | +using System.ComponentModel; | |
3 | +using UmaTest.Infra.Log; | |
4 | + | |
5 | +namespace UmaTest.Infra.Domain.Translator | |
6 | +{ | |
7 | + public class NestedTypeDescriptor : CustomTypeDescriptor | |
8 | + { | |
9 | + Type typeProperty; | |
10 | + public NestedTypeDescriptor(ICustomTypeDescriptor parent, Type type) | |
11 | + : base(parent) | |
12 | + { | |
13 | + typeProperty = type; | |
14 | + } | |
15 | + public override PropertyDescriptorCollection GetProperties(Attribute[] attributes) | |
16 | + { | |
17 | + PropertyDescriptorCollection cols = base.GetProperties(attributes); | |
18 | + | |
19 | + string propertyName = ""; | |
20 | + foreach (PropertyDescriptor col in cols) | |
21 | + { | |
22 | + if (col.PropertyType.Name == typeProperty.Name) | |
23 | + { | |
24 | + propertyName = col.Name; | |
25 | + Logger.Debug($"{col.PropertyType.Name}, {typeProperty.Name}"); | |
26 | + } | |
27 | + } | |
28 | + PropertyDescriptor pd = cols[propertyName]; | |
29 | + PropertyDescriptorCollection children = pd.GetChildProperties(); | |
30 | + PropertyDescriptor[] array = new PropertyDescriptor[cols.Count + children.Count]; | |
31 | + int count = cols.Count; | |
32 | + cols.CopyTo(array, 0); | |
33 | + | |
34 | + foreach (PropertyDescriptor cpd in children) | |
35 | + { | |
36 | + array[count] = new ChildPropertyDescriptor(pd, cpd, pd.Name + "." + cpd.Name); | |
37 | + count++; | |
38 | + } | |
39 | + | |
40 | + PropertyDescriptorCollection newcols = new PropertyDescriptorCollection(array); | |
41 | + return newcols; | |
42 | + } | |
43 | + } | |
44 | +} | |
\ No newline at end of file |
@@ -0,0 +1,92 @@ | ||
1 | +using System; | |
2 | +using System.Collections.Generic; | |
3 | +using System.Linq; | |
4 | +using System.Text; | |
5 | +using System.Threading.Tasks; | |
6 | +using UmaTest.Infra.Log; | |
7 | + | |
8 | +namespace UmaTest.Infra.Helper | |
9 | +{ | |
10 | + public class CodeHelper | |
11 | + { | |
12 | + public static readonly string GRADE_CODE = "2003"; | |
13 | + public static readonly string JYOKEN_CODE1 = "2007"; | |
14 | + public static readonly string SEX_CODE = "2202"; | |
15 | + | |
16 | + private const string ERROR_VALUE = "#ERROR"; | |
17 | + | |
18 | + private static CodeHelper me = null; | |
19 | + | |
20 | + private Dictionary<string, Dictionary<string, string[]>> master = new Dictionary<string, Dictionary<string, string[]>>(); | |
21 | + | |
22 | + private CodeHelper() | |
23 | + { | |
24 | + Build(); | |
25 | + } | |
26 | + | |
27 | + public static CodeHelper GetInstance() | |
28 | + { | |
29 | + if (me == null) | |
30 | + { | |
31 | + me = new CodeHelper(); | |
32 | + } | |
33 | + | |
34 | + return me; | |
35 | + } | |
36 | + | |
37 | + public string GetName(string code, string value, string errorValue = ERROR_VALUE) | |
38 | + { | |
39 | + return GetName(code, value, 0, errorValue); | |
40 | + } | |
41 | + | |
42 | + public string GetName(string code, string value, int index, string errorValue = ERROR_VALUE) | |
43 | + { | |
44 | + if (!master.TryGetValue(code, out Dictionary<string, string[]> values)) | |
45 | + { | |
46 | + return errorValue; | |
47 | + } | |
48 | + | |
49 | + if (!values.TryGetValue(value, out string[] names)) | |
50 | + { | |
51 | + return errorValue; | |
52 | + } | |
53 | + | |
54 | + if (names.Length <= index) | |
55 | + { | |
56 | + return errorValue; | |
57 | + } | |
58 | + | |
59 | + return names[index]; | |
60 | + } | |
61 | + | |
62 | + private void Build() | |
63 | + { | |
64 | + string csvFileName = "CodeMaster.CodeTable.csv"; | |
65 | + | |
66 | + string content = ResourceHelper.GetResourceFile(csvFileName); | |
67 | + | |
68 | + string[] lines = content.Split(new char[] { '\r', '\n' }, StringSplitOptions.RemoveEmptyEntries); | |
69 | + | |
70 | + foreach (string line in lines) | |
71 | + { | |
72 | + string[] columnValues = line.Split(new char[] { ',' }); | |
73 | + | |
74 | + string code = columnValues[0]; | |
75 | + | |
76 | + if (!master.TryGetValue(code, out Dictionary<string, string[]> values)) | |
77 | + { | |
78 | + values = new Dictionary<string, string[]>(); | |
79 | + master.Add(code, values); | |
80 | + } | |
81 | + | |
82 | + string[] names = new string[columnValues.Length - 2]; | |
83 | + Array.Copy(columnValues, 2, names, 0, names.Length); | |
84 | + | |
85 | + string value = columnValues[1]; | |
86 | + values.Add(value, names); | |
87 | + | |
88 | + Logger.Debug($"CodeMaster [code={code}, value={value}, {String.Join(", ", names)}]"); | |
89 | + } | |
90 | + } | |
91 | + } | |
92 | +} |
@@ -3,6 +3,7 @@ using PetaPoco.Providers; | ||
3 | 3 | using System; |
4 | 4 | using System.Collections.Generic; |
5 | 5 | using System.Data.Common; |
6 | +using System.Diagnostics; | |
6 | 7 | using System.IO; |
7 | 8 | using System.Linq; |
8 | 9 | using System.Reflection; |
@@ -30,6 +31,10 @@ namespace UmaTest.Infra.Helper | ||
30 | 31 | { |
31 | 32 | return p.Invoke(); |
32 | 33 | } |
34 | + catch (ApplicationException) | |
35 | + { | |
36 | + throw; | |
37 | + } | |
33 | 38 | catch (DbException e) |
34 | 39 | { |
35 | 40 | throw new DaoException("データベースへのアクセスに失敗しました", e); |
@@ -40,34 +45,23 @@ namespace UmaTest.Infra.Helper | ||
40 | 45 | } |
41 | 46 | } |
42 | 47 | |
43 | - internal static string GetResourceSQLFile(object dao, [CallerMemberName] string methodName = "") | |
48 | + internal static string GetResourceSQLFile(object obj, [CallerMemberName] string methodName = "") | |
44 | 49 | { |
45 | - return GetResourceSQLFile(dao.GetType(), methodName); | |
50 | + return GetResourceSQLFile(obj.GetType(), methodName); | |
46 | 51 | } |
47 | 52 | |
48 | - internal static string GetResourceSQLFile(Type daoType, [CallerMemberName] string methodName = "") | |
53 | + internal static string GetResourceSQLFile(Type type, [CallerMemberName] string methodName = "") | |
49 | 54 | { |
50 | - string className = daoType.Name; | |
51 | - string fileName = className + "_" + methodName + ".sql"; | |
52 | - string resourceName = "UmaTest.Resources.Sql." + fileName; | |
53 | - | |
54 | - var asm = Assembly.GetExecutingAssembly(); | |
55 | - | |
56 | - string content = ""; | |
57 | - using (var stream = asm.GetManifestResourceStream(resourceName)) | |
58 | - { | |
59 | - if (stream == null) | |
60 | - { | |
61 | - throw new ApplicationException($"埋め込みリソース {resourceName} が見つかりません"); | |
62 | - } | |
55 | + return GetResourceSQLFile(type.Name, methodName); | |
56 | + } | |
63 | 57 | |
64 | - using (var sr = new StreamReader(stream)) | |
65 | - { | |
66 | - content = sr.ReadToEnd(); | |
67 | - } | |
68 | - } | |
58 | + internal static string GetResourceSQLFile(string srcFileName, [CallerMemberName] string methodName = "") | |
59 | + { | |
60 | + string sqlFileName = srcFileName + "_" + methodName + ".sql"; | |
61 | + string resourceName = "Sql." + sqlFileName; | |
69 | 62 | |
70 | - return content; | |
63 | + return ResourceHelper.GetResourceFile(resourceName); | |
71 | 64 | } |
65 | + | |
72 | 66 | } |
73 | 67 | } |
@@ -23,6 +23,10 @@ namespace UmaTest.Infra.Helper | ||
23 | 23 | { |
24 | 24 | return p.Invoke(); |
25 | 25 | } |
26 | + catch (ApplicationException) | |
27 | + { | |
28 | + throw; | |
29 | + } | |
26 | 30 | catch (Exception e) |
27 | 31 | { |
28 | 32 | throw new LogicException("ロジックの実行中にエラーが発生しました", e); |
@@ -0,0 +1,38 @@ | ||
1 | +using System; | |
2 | +using System.Collections.Generic; | |
3 | +using System.IO; | |
4 | +using System.Linq; | |
5 | +using System.Reflection; | |
6 | +using System.Text; | |
7 | +using System.Threading.Tasks; | |
8 | + | |
9 | +namespace UmaTest.Infra.Helper | |
10 | +{ | |
11 | + class ResourceHelper | |
12 | + { | |
13 | + private const string NAME_SPACE = "UmaTest.Resources."; | |
14 | + | |
15 | + internal static string GetResourceFile(string path) | |
16 | + { | |
17 | + string resourceName = NAME_SPACE + path; | |
18 | + | |
19 | + var asm = Assembly.GetExecutingAssembly(); | |
20 | + | |
21 | + string content = ""; | |
22 | + using (var stream = asm.GetManifestResourceStream(resourceName)) | |
23 | + { | |
24 | + if (stream == null) | |
25 | + { | |
26 | + throw new ApplicationException($"埋め込みリソース {resourceName} が見つかりません"); | |
27 | + } | |
28 | + | |
29 | + using (var sr = new StreamReader(stream)) | |
30 | + { | |
31 | + content = sr.ReadToEnd(); | |
32 | + } | |
33 | + } | |
34 | + | |
35 | + return content; | |
36 | + } | |
37 | + } | |
38 | +} |
@@ -0,0 +1,473 @@ | ||
1 | +2001,00,,,,,, | |
2 | +2001,01,札幌競馬場,札,札幌,札幌,SAPPORO, | |
3 | +2001,02,函館競馬場,函,函館,函館,HAKODATE, | |
4 | +2001,03,福島競馬場,福,福島,福島,FUKUSHIMA, | |
5 | +2001,04,新潟競馬場,新,新潟,新潟,NIIGATA, | |
6 | +2001,05,東京競馬場,東,東京,東京,TOKYO, | |
7 | +2001,06,中山競馬場,中,中山,中山,NAKAYAMA, | |
8 | +2001,07,中京競馬場,名,中京,中京,CHUKYO, | |
9 | +2001,08,京都競馬場,京,京都,京都,KYOTO, | |
10 | +2001,09,阪神競馬場,阪,阪神,阪神,HANSHIN, | |
11 | +2001,10,小倉競馬場,小,小倉,小倉,KOKURA, | |
12 | +2001,30,門別競馬場,門,門別,門別,MONBETSU, | |
13 | +2001,31,北見競馬場,北,北見,北見,KITAMI, | |
14 | +2001,32,岩見沢競馬場,岩,岩見,岩見沢,IWAMIZAWA, | |
15 | +2001,33,帯広競馬場,帯,帯広,帯広,OBIHIRO, | |
16 | +2001,34,旭川競馬場,旭,旭川,旭川,ASAHIKAWA, | |
17 | +2001,35,盛岡競馬場,盛,盛岡,盛岡,MORIOKA, | |
18 | +2001,36,水沢競馬場,水,水沢,水沢,MIZUSAWA, | |
19 | +2001,37,上山競馬場,上,上山,上山,KAMINOYAMA, | |
20 | +2001,38,三条競馬場,三,三条,三条,SANJYO, | |
21 | +2001,39,足利競馬場,足,足利,足利,ASHIKAGA, | |
22 | +2001,40,宇都宮競馬場,宇,宇都,宇都宮,UTSUNOMIYA, | |
23 | +2001,41,高崎競馬場,高,高崎,高崎,TAKASAKI, | |
24 | +2001,42,浦和競馬場,浦,浦和,浦和,URAWA, | |
25 | +2001,43,船橋競馬場,船,船橋,船橋,FUNABASHI, | |
26 | +2001,44,大井競馬場,大,大井,大井,OOI, | |
27 | +2001,45,川崎競馬場,川,川崎,川崎,KAWASAKI, | |
28 | +2001,46,金沢競馬場,金,金沢,金沢,KANAZAWA, | |
29 | +2001,47,笠松競馬場,笠,笠松,笠松,KASAMATSU, | |
30 | +2001,48,名古屋競馬場,古,名古,名古屋,NAGOYA, | |
31 | +2001,49,紀三井寺競馬場,紀,紀三,紀三寺,KIMIIDERA, | |
32 | +2001,50,園田競馬場,園,園田,園田,SONODA, | |
33 | +2001,51,姫路競馬場,姫,姫路,姫路,HIMEJI, | |
34 | +2001,52,益田競馬場,益,益田,益田,MASUDA, | |
35 | +2001,53,福山競馬場,福,福山,福山,FUKUYAMA, | |
36 | +2001,54,高知競馬場,高,高知,高知,KOCHI, | |
37 | +2001,55,佐賀競馬場,佐,佐賀,佐賀,SAGA, | |
38 | +2001,56,荒尾競馬場,荒,荒尾,荒尾,ARAO, | |
39 | +2001,57,中津競馬場,中,中津,中津,NAKATSU, | |
40 | +2001,58,札幌競馬場(地方競馬),札,N-札,N-札幌,SAPPORO(NAR), | |
41 | +2001,59,函館競馬場(地方競馬),函,N-函,N-函館,HAKODATE(NAR), | |
42 | +2001,60,新潟競馬場(地方競馬),新,N-新,N-新潟,NIIGATA(NAR), | |
43 | +2001,61,中京競馬場(地方競馬),名,N-中,N-中京,CHUKYO(NAR), | |
44 | +2001,A0,その他の外国,外,他外,他外国,, | |
45 | +2001,A2,日本,日,日本,日本,Japan,JPN | |
46 | +2001,A4,アメリカ,米,アメ,アメリ,United States of America,USA | |
47 | +2001,A6,イギリス,英,イギ,イギリ,Great Britain,GB | |
48 | +2001,A8,フランス,仏,フラ,フラン,France,FR | |
49 | +2001,B0,インド,印,イン,インド,India,IND | |
50 | +2001,B2,アイルランド,愛,アイ,アイル,Ireland,IRE | |
51 | +2001,B4,ニュージーランド,新,ニュ,ニュー,New Zealand,NZ | |
52 | +2001,B6,オーストラリア,豪,オー,オース,Australia,AUS | |
53 | +2001,B8,カナダ,加,カナ,カナダ,Canada,CAN | |
54 | +2001,C0,イタリア,伊,イタ,イタリ,Italy,ITY | |
55 | +2001,C2,ドイツ,独,ドイ,ドイツ,Germany,GER | |
56 | +2001,C4,,,,,, | |
57 | +2001,C5,オマーン,オ,オマ,オマー,Oman,OMN | |
58 | +2001,C6,イラク,イ,イラ,イラク,Iraq,IRQ | |
59 | +2001,C7,アラブ首長国連邦,首,ア首,アラブ,United Arab Emirates,UAE | |
60 | +2001,C8,シリア,叙,シリ,シリア,Syrian,SYR | |
61 | +2001,D0,スウェーデン,瑞,スウ,スウェ,Sweden,SWE | |
62 | +2001,D2,ハンガリー,洪,ハン,ハンガ,Hungary,HUN | |
63 | +2001,D4,ポルトガル,葡,ポル,ポルト,Portugal,POR | |
64 | +2001,D6,ロシア,露,ロシ,ロシア,Russia,RUS | |
65 | +2001,D8,ウルグアイ,宇,ウル,ウルグ,Uruguay,URU | |
66 | +2001,E0,ペルー,秘,ペル,ペルー,Peru,PER | |
67 | +2001,E2,アルゼンチン,亜,アル,アルゼ,Argentina,ARG | |
68 | +2001,E4,ブラジル,伯,ブラ,ブラジ,Brazil,BRZ | |
69 | +2001,E6,ベルギー,白,ベル,ベルギ,Belgium,BEL | |
70 | +2001,E8,トルコ,土,トル,トルコ,Turkey,TUR | |
71 | +2001,F0,韓国,韓,韓国,韓国,Korea,KOR | |
72 | +2001,F1,中国,中,中国,中国,China,CHN | |
73 | +2001,F2,チリ,智,チリ,チリ,Chile,CHI | |
74 | +2001,F4,,,,,, | |
75 | +2001,F6,,,,,, | |
76 | +2001,F8,パナマ,巴,パナ,パナマ,Panama,PAN | |
77 | +2001,G0,香港,香,香港,香港,Hong Kong,HK | |
78 | +2001,G2,スペイン,西,スペ,スペイ,Spain,SPA | |
79 | +2001,G4,,,,,, | |
80 | +2001,G6,,,,,, | |
81 | +2001,G8,,,,,, | |
82 | +2001,H0,西ドイツ,独,西独,西独,West Germany,GER | |
83 | +2001,H2,南アフリカ,南,南ア,南アフ,South Africa,SAF | |
84 | +2001,H4,スイス,ス,スイ,スイス,Switzerland,SWI | |
85 | +2001,H6,モナコ,モ,モナ,モナコ,Monaco,MCO | |
86 | +2001,H8,フィリピン,比,フィ,フィリ,Philippines,PHI | |
87 | +2001,I0,プエルトリコ,プ,プエ,プエル,Puerto Rico,PUE | |
88 | +2001,I2,コロンビア,コ,コロ,コロン,Colombia,COL | |
89 | +2001,I4,チェコスロバキア,チ,チェ,チェコ,Czechoslovakia,CZE | |
90 | +2001,I6,チェコ,チ,チェ,チェコ,Czech Republic,CZE | |
91 | +2001,I8,スロバキア,ス,スロ,スロバ,Slovakia,SLO | |
92 | +2001,J0,エクアドル,エ,エク,エクア,Ecuador,ECU | |
93 | +2001,J2,ギリシャ,ギ,ギリ,ギリシ,Greece,GR | |
94 | +2001,J4,マレーシア,馬,マレ,マレー,Malaysia,MAL | |
95 | +2001,J6,メキシコ,墨,メキ,メキシ,Mexico,MEX | |
96 | +2001,J8,モロッコ,摩,モロ,モロッ,Morocco,MOR | |
97 | +2001,K0,パキスタン,基,パキ,パキス,Pakistan,PAK | |
98 | +2001,K2,ポーランド,波,ポー,ポーラ,Poland,POL | |
99 | +2001,K4,パラグアイ,拉,パラ,パラグ,Paraguay,PRY | |
100 | +2001,K6,サウジアラビア,サ,サウ,サウジ,Saudi Arabia,SDA | |
101 | +2001,K8,キプロス,キ,キプ,キプロ,Cyprus,CYP | |
102 | +2001,L0,タイ,泰,タイ,タイ,Thailand,THA | |
103 | +2001,L2,ウクライナ,烏,ウク,ウクラ,Ukraine,UKR | |
104 | +2001,L4,ベネズエラ,ベ,ベネ,ベネゼ,Venezuela,VEN | |
105 | +2001,L6,ユーゴスラビア,ユ,ユー,ユーゴ,Yugoslavia,YUG | |
106 | +2001,L8,デンマーク,丁,デン,デンマ,Denmark,DEN | |
107 | +2001,M0,シンガポール,嘉,シン,シンガ,Singapore,SIN | |
108 | +2001,M2,マカオ,澳,マカ,マカオ,Macau,MAC | |
109 | +2002,0,,,,,, | |
110 | +2002,1,土曜日,土,土曜,土曜日,SATURDAY,SAT | |
111 | +2002,2,日曜日,日,日曜,日曜日,SUNDAY,SUN | |
112 | +2002,3,祝日,祝,祝日,祝日,NATIONAL HOLIDAY,HOL | |
113 | +2002,4,月曜日,月,月曜,月曜日,MONDAY,MON | |
114 | +2002,5,火曜日,火,火曜,火曜日,TUESDAY,TUE | |
115 | +2002,6,水曜日,水,水曜,水曜日,WEDNESDAY,WED | |
116 | +2002,7,木曜日,木,木曜,木曜日,THURSDAY,THU | |
117 | +2002,8,金曜日,金,金曜,金曜日,FRIDAY,FRI | |
118 | +2003,A,G1(平地競走),,,,, | |
119 | +2003,B,G2(平地競走),,,,, | |
120 | +2003,C,G3(平地競走),,,,, | |
121 | +2003,D,グレードのない重賞,,,,, | |
122 | +2003,E,重賞以外の特別競走,,,,, | |
123 | +2003,F,J・G1(障害競走),,,,, | |
124 | +2003,G,J・G2(障害競走),,,,, | |
125 | +2003,H,J・G3(障害競走),,,,, | |
126 | +2003, ,,,,,, | |
127 | +2005,00,,,,,, | |
128 | +2005,11,サラブレッド系2歳,サラ2才,サラ系2歳,サラ系2歳,TWO-YEAR-OLDS, | |
129 | +2005,12,サラブレッド系3歳,サラ3才,サラ系3歳,サラ系3歳,THREE-YEAR-OLDS, | |
130 | +2005,13,サラブレッド系3歳以上,サラ3上,サラ系3歳上,サラ系3歳以上,THREE-YEAR-OLDS & UP, | |
131 | +2005,14,サラブレッド系4歳以上,サラ4上,サラ系4歳上,サラ系4歳以上,FOUR-YEAR-OLDS & UP, | |
132 | +2005,18,サラブレッド系障害3歳以上,障害3上,障害3歳上,サラ障害3歳以上,THREE-YEAR-OLDS & UP STEEPLE-CHASE, | |
133 | +2005,19,サラブレッド系障害4歳以上,障害4上,障害4歳上,サラ障害4歳以上,FOUR-YEAR-OLDS & UP STEEPLE-CHASE, | |
134 | +2005,21,アラブ系2歳,アラ2才,アラ系2歳,アラブ系2歳,TWO-YEAR-OLDS ANGLO-ARABS, | |
135 | +2005,22,アラブ系3歳,アラ3才,アラ系3歳,アラブ系3歳,THREE-YEAR-OLDS ANGLO-ARABS, | |
136 | +2005,23,アラブ系3歳以上,アラ3上,アラ系3歳上,アラブ系3歳以上,THREE-YEAR-OLDS & UP ANGLO-ARABS, | |
137 | +2005,24,アラブ系4歳以上,アラ4上,アラ系4歳上,アラブ系4歳以上,FOUR-YEAR-OLDS & UP ANGLO-ARABS, | |
138 | +2006,000,,,,,, | |
139 | +2006,001,(指定),DSN,,,, | |
140 | +2006,002,若手騎手,,,,, | |
141 | +2006,003,[指定],DES,,,, | |
142 | +2006,004,(特指),SD,,,, | |
143 | +2006,020,牝,F&M,,,, | |
144 | +2006,021,牝 (指定),F&M DSN,,,, | |
145 | +2006,023,牝 [指定],F&M DES,,,, | |
146 | +2006,024,牝 (特指),F&M SD,,,, | |
147 | +2006,030,牡・セン,C・G,,,, | |
148 | +2006,031,牡・セン (指定),C・G DSN,,,, | |
149 | +2006,033,牡・セン [指定],C・G DES,,,, | |
150 | +2006,034,牡・セン (特指),C・G SD,,,, | |
151 | +2006,040,牡・牝,C・F,,,, | |
152 | +2006,041,牡・牝 (指定),C・F DSN,,,, | |
153 | +2006,043,牡・牝 [指定],C・F DES,,,, | |
154 | +2006,044,牡・牝 (特指),C・F SD,,,, | |
155 | +2006,A00,(混合),MIX,,,, | |
156 | +2006,A01,(混合)(指定),MIX DSN,,,, | |
157 | +2006,A02,(混合) 若手騎手,MIX,,,, | |
158 | +2006,A03,(混合)[指定],MIX DES,,,, | |
159 | +2006,A04,(混合)(特指),MIX SD,,,, | |
160 | +2006,A10,(混合) 牡,MIX C,,,, | |
161 | +2006,A11,(混合) 牡 (指定),MIX C,,,, | |
162 | +2006,A13,(混合) 牡 [指定],MIX C DES,,,, | |
163 | +2006,A14,(混合) 牡 (特指),MIX C SD,,,, | |
164 | +2006,A20,(混合) 牝,MIX F&M,,,, | |
165 | +2006,A21,(混合) 牝 (指定),MIX F&M DSN,,,, | |
166 | +2006,A23,(混合) 牝 [指定],MIX F&M DES,,,, | |
167 | +2006,A24,(混合) 牝 (特指),MIX F&M SD,,,, | |
168 | +2006,A30,(混合) 牡・セン,MIX C・G,,,, | |
169 | +2006,A31,(混合) 牡・セン (指定),MIX C・G DSN,,,, | |
170 | +2006,A33,(混合) 牡・セン [指定],MIX C・G DES,,,, | |
171 | +2006,A34,(混合) 牡・セン (特指),MIX C・G SD,,,, | |
172 | +2006,A40,(混合) 牡・牝,MIX C・F,,,, | |
173 | +2006,A41,(混合) 牡・牝 (指定),MIX C・F DSN,,,, | |
174 | +2006,B00,(父),(D),,,, | |
175 | +2006,B01,(父)(指定),(D) DSN,,,, | |
176 | +2006,B03,(父)[指定],(D) DES,,,, | |
177 | +2006,B04,(父)(特指),(D) SD,,,, | |
178 | +2006,C00,(市),(A),,,, | |
179 | +2006,C01,(市)(指定),(A) DSN,,,, | |
180 | +2006,C03,(市)[指定],(A) DES,,,, | |
181 | +2006,C04,(市)(特指),(A) SD,,,, | |
182 | +2006,D00,(抽),(S),,,, | |
183 | +2006,D01,(抽)(指定),(S) DSN,,,, | |
184 | +2006,D03,(抽)[指定],(S) DES,,,, | |
185 | +2006,E00,[抽],,,,, | |
186 | +2006,E01,[抽](指定),DSN,,,, | |
187 | +2006,E03,[抽][指定],DES,,,, | |
188 | +2006,F00,(市)(抽),(A)(S),,,, | |
189 | +2006,F01,(市)(抽)(指定),(A)(S) DSN,,,, | |
190 | +2006,F03,(市)(抽)[指定],(A)(S) DES,,,, | |
191 | +2006,F04,(市)(抽)(特指),(A)(S) SD,,,, | |
192 | +2006,G00,(抽) 関西配布馬,,,,, | |
193 | +2006,G01,(抽) 関西配布馬 (指定),DSN,,,, | |
194 | +2006,G03,(抽) 関西配布馬 [指定],DES,,,, | |
195 | +2006,H00,(抽) 関東配布馬,,,,, | |
196 | +2006,H01,(抽) 関東配布馬 (指定),DSN,,,, | |
197 | +2006,I00,[抽] 関西配布馬,,,,, | |
198 | +2006,I01,[抽] 関西配布馬 (指定),DSN,,,, | |
199 | +2006,I03,[抽] 関西配布馬 [指定],DES,,,, | |
200 | +2006,J00,[抽] 関東配布馬,,,,, | |
201 | +2006,J01,[抽] 関東配布馬 (指定),DSN,,,, | |
202 | +2006,K00,(市)(抽) 関西配布馬,,,,, | |
203 | +2006,K01,(市)(抽) 関西配布馬 (指定),DSN,,,, | |
204 | +2006,K03,(市)(抽) 関西配布馬 [指定],DES,,,, | |
205 | +2006,L00,(市)(抽) 関東配布馬,,,,, | |
206 | +2006,L01,(市)(抽) 関東配布馬 (指定),DSN,,,, | |
207 | +2006,L03,(市)(抽) 関東配布馬 [指定],DES,,,, | |
208 | +2006,M00,九州産馬,,,,, | |
209 | +2006,M01,九州産馬 (指定),DSN,,,, | |
210 | +2006,M03,九州産馬 [指定],DES,,,, | |
211 | +2006,M04,九州産馬 (特指),SD,,,, | |
212 | +2006,N00,(国際),INT,,,, | |
213 | +2006,N01,(国際)(指定),INT DSN,,,, | |
214 | +2006,N03,(国際)[指定],INT DES,,,, | |
215 | +2006,N04,(国際)(特指),INT SD,,,, | |
216 | +2006,N20,(国際) 牝,INT F&M,,,, | |
217 | +2006,N21,(国際) 牝 (指定),INT F&M DSN,,,, | |
218 | +2006,N23,(国際) 牝 [指定],INT F&M DES,,,, | |
219 | +2006,N24,(国際) 牝 (特指),INT F&M SD,,,, | |
220 | +2006,N30,(国際) 牡・セン,INT C・G,,,, | |
221 | +2006,N31,(国際) 牡・セン (指定),INT C・G DSN,,,, | |
222 | +2006,N40,(国際) 牡・牝,INT C・F,,,, | |
223 | +2006,N41,(国際) 牡・牝 (指定),INT C・F DSN,,,, | |
224 | +2007,000,,,,,, | |
225 | +2007,001,100万円以下,1000000 & LESS,,,, | |
226 | +2007,002,200万円以下,2000000 & LESS,,,, | |
227 | +2007,003,300万円以下,3000000 & LESS,,,, | |
228 | +2007,004,400万円以下,4000000 & LESS,,,, | |
229 | +2007,005,500万円以下,5000000 & LESS,,,, | |
230 | +2007,006,600万円以下,6000000 & LESS,,,, | |
231 | +2007,007,700万円以下,7000000 & LESS,,,, | |
232 | +2007,008,800万円以下,8000000 & LESS,,,, | |
233 | +2007,009,900万円以下,9000000 & LESS,,,, | |
234 | +2007,010,1000万円以下,10000000 & LESS,,,, | |
235 | +2007,011,1100万円以下,11000000 & LESS,,,, | |
236 | +2007,012,1200万円以下,12000000 & LESS,,,, | |
237 | +2007,013,1300万円以下,13000000 & LESS,,,, | |
238 | +2007,014,1400万円以下,14000000 & LESS,,,, | |
239 | +2007,015,1500万円以下,15000000 & LESS,,,, | |
240 | +2007,016,1600万円以下,16000000 & LESS,,,, | |
241 | +2007,017,1700万円以下,17000000 & LESS,,,, | |
242 | +2007,018,1800万円以下,18000000 & LESS,,,, | |
243 | +2007,019,1900万円以下,19000000 & LESS,,,, | |
244 | +2007,020,2000万円以下,20000000 & LESS,,,, | |
245 | +2007,021,2100万円以下,21000000 & LESS,,,, | |
246 | +2007,022,2200万円以下,22000000 & LESS,,,, | |
247 | +2007,023,2300万円以下,23000000 & LESS,,,, | |
248 | +2007,024,2400万円以下,24000000 & LESS,,,, | |
249 | +2007,025,2500万円以下,25000000 & LESS,,,, | |
250 | +2007,026,2600万円以下,26000000 & LESS,,,, | |
251 | +2007,027,2700万円以下,27000000 & LESS,,,, | |
252 | +2007,028,2800万円以下,28000000 & LESS,,,, | |
253 | +2007,029,2900万円以下,29000000 & LESS,,,, | |
254 | +2007,030,3000万円以下,30000000 & LESS,,,, | |
255 | +2007,031,3100万円以下,31000000 & LESS,,,, | |
256 | +2007,032,3200万円以下,32000000 & LESS,,,, | |
257 | +2007,033,3300万円以下,33000000 & LESS,,,, | |
258 | +2007,034,3400万円以下,34000000 & LESS,,,, | |
259 | +2007,035,3500万円以下,35000000 & LESS,,,, | |
260 | +2007,036,3600万円以下,36000000 & LESS,,,, | |
261 | +2007,037,3700万円以下,37000000 & LESS,,,, | |
262 | +2007,038,3800万円以下,38000000 & LESS,,,, | |
263 | +2007,039,3900万円以下,39000000 & LESS,,,, | |
264 | +2007,040,4000万円以下,40000000 & LESS,,,, | |
265 | +2007,041,4100万円以下,41000000 & LESS,,,, | |
266 | +2007,042,4200万円以下,42000000 & LESS,,,, | |
267 | +2007,043,4300万円以下,43000000 & LESS,,,, | |
268 | +2007,044,4400万円以下,44000000 & LESS,,,, | |
269 | +2007,045,4500万円以下,45000000 & LESS,,,, | |
270 | +2007,046,4600万円以下,46000000 & LESS,,,, | |
271 | +2007,047,4700万円以下,47000000 & LESS,,,, | |
272 | +2007,048,4800万円以下,48000000 & LESS,,,, | |
273 | +2007,049,4900万円以下,49000000 & LESS,,,, | |
274 | +2007,050,5000万円以下,50000000 & LESS,,,, | |
275 | +2007,051,5100万円以下,51000000 & LESS,,,, | |
276 | +2007,052,5200万円以下,52000000 & LESS,,,, | |
277 | +2007,053,5300万円以下,53000000 & LESS,,,, | |
278 | +2007,054,5400万円以下,54000000 & LESS,,,, | |
279 | +2007,055,5500万円以下,55000000 & LESS,,,, | |
280 | +2007,056,5600万円以下,56000000 & LESS,,,, | |
281 | +2007,057,5700万円以下,57000000 & LESS,,,, | |
282 | +2007,058,5800万円以下,58000000 & LESS,,,, | |
283 | +2007,059,5900万円以下,59000000 & LESS,,,, | |
284 | +2007,060,6000万円以下,60000000 & LESS,,,, | |
285 | +2007,061,6100万円以下,61000000 & LESS,,,, | |
286 | +2007,062,6200万円以下,62000000 & LESS,,,, | |
287 | +2007,063,6300万円以下,63000000 & LESS,,,, | |
288 | +2007,064,6400万円以下,64000000 & LESS,,,, | |
289 | +2007,065,6500万円以下,65000000 & LESS,,,, | |
290 | +2007,066,6600万円以下,66000000 & LESS,,,, | |
291 | +2007,067,6700万円以下,67000000 & LESS,,,, | |
292 | +2007,068,6800万円以下,68000000 & LESS,,,, | |
293 | +2007,069,6900万円以下,69000000 & LESS,,,, | |
294 | +2007,070,7000万円以下,70000000 & LESS,,,, | |
295 | +2007,071,7100万円以下,71000000 & LESS,,,, | |
296 | +2007,072,7200万円以下,72000000 & LESS,,,, | |
297 | +2007,073,7300万円以下,73000000 & LESS,,,, | |
298 | +2007,074,7400万円以下,74000000 & LESS,,,, | |
299 | +2007,075,7500万円以下,75000000 & LESS,,,, | |
300 | +2007,076,7600万円以下,76000000 & LESS,,,, | |
301 | +2007,077,7700万円以下,77000000 & LESS,,,, | |
302 | +2007,078,7800万円以下,78000000 & LESS,,,, | |
303 | +2007,079,7900万円以下,79000000 & LESS,,,, | |
304 | +2007,080,8000万円以下,80000000 & LESS,,,, | |
305 | +2007,081,8100万円以下,81000000 & LESS,,,, | |
306 | +2007,082,8200万円以下,82000000 & LESS,,,, | |
307 | +2007,083,8300万円以下,83000000 & LESS,,,, | |
308 | +2007,084,8400万円以下,84000000 & LESS,,,, | |
309 | +2007,085,8500万円以下,85000000 & LESS,,,, | |
310 | +2007,086,8600万円以下,86000000 & LESS,,,, | |
311 | +2007,087,8700万円以下,87000000 & LESS,,,, | |
312 | +2007,088,8800万円以下,88000000 & LESS,,,, | |
313 | +2007,089,8900万円以下,89000000 & LESS,,,, | |
314 | +2007,090,9000万円以下,90000000 & LESS,,,, | |
315 | +2007,091,9100万円以下,91000000 & LESS,,,, | |
316 | +2007,092,9200万円以下,92000000 & LESS,,,, | |
317 | +2007,093,9300万円以下,93000000 & LESS,,,, | |
318 | +2007,094,9400万円以下,94000000 & LESS,,,, | |
319 | +2007,095,9500万円以下,95000000 & LESS,,,, | |
320 | +2007,096,9600万円以下,96000000 & LESS,,,, | |
321 | +2007,097,9700万円以下,97000000 & LESS,,,, | |
322 | +2007,098,9800万円以下,98000000 & LESS,,,, | |
323 | +2007,099,9900万円以下,99000000 & LESS,,,, | |
324 | +2007,100,1億円以下,100000000 & LESS,,,, | |
325 | +2007,701,新馬,NEWCOMER,,,, | |
326 | +2007,702,未出走,UNRACED,,,, | |
327 | +2007,703,未勝利,MAIDEN,,,, | |
328 | +2007,999,オープン,OPEN,,,, | |
329 | +2008,0,,,,,, | |
330 | +2008,1,ハンデ,HANDICAP,,,, | |
331 | +2008,2,別定,SPECIAL WEIGHT,,,, | |
332 | +2008,3,馬齢,WEIGHT FOR AGE,,,, | |
333 | +2008,4,定量,SPECIAL WEIGHT,,,, | |
334 | +2009,00,,,,,, | |
335 | +2009,10,平地 芝 直線,芝・直,Turf Str.,,, | |
336 | +2009,11,平地 芝 左回り,芝・左,Turf,,, | |
337 | +2009,12,平地 芝 左回り 外回り,芝・左外,Turf,,, | |
338 | +2009,13,平地 芝 左回り 内-外回り,芝・左内→外,Turf,,, | |
339 | +2009,14,平地 芝 左回り 外-内回り,芝・左外→内,Turf,,, | |
340 | +2009,15,平地 芝 左回り 内2周,芝・左内2周,Turf,,, | |
341 | +2009,16,平地 芝 左回り 外2周,芝・左外2周,Turf,,, | |
342 | +2009,17,平地 芝 右回り,芝・右,Turf,,, | |
343 | +2009,18,平地 芝 右回り 外回り,芝・右外,Turf,,, | |
344 | +2009,19,平地 芝 右回り 内-外回り,芝・右内→外,Turf,,, | |
345 | +2009,20,平地 芝 右回り 外-内回り,芝・右外→内,Turf,,, | |
346 | +2009,21,平地 芝 右回り 内2周,芝・右内2周,Turf,,, | |
347 | +2009,22,平地 芝 右回り 外2周,芝・右外2周,Turf,,, | |
348 | +2009,23,平地 ダート 左回り,ダート・左,Dirt,,, | |
349 | +2009,24,平地 ダート 右回り,ダート・右,Dirt,,, | |
350 | +2009,25,平地 ダート 左回り 内回り,ダート・左内,Dirt,,, | |
351 | +2009,26,平地 ダート 右回り 外回り,ダート・右外,Dirt,,, | |
352 | +2009,27,平地 サンド 左回り,サンド・左,Sand,,, | |
353 | +2009,28,平地 サンド 右回り,サンド・右,Sand,,, | |
354 | +2009,29,平地 ダート 直線,ダート・直,Dirt Str.,,, | |
355 | +2009,51,障害 芝 襷,芝・襷,Turf,,, | |
356 | +2009,52,障害 芝 ダート,芝→ダート,Turf→Dirt,,, | |
357 | +2009,53,障害 芝・左,芝・左,Turf,,, | |
358 | +2009,54,障害 芝,芝,Turf,,, | |
359 | +2009,55,障害 芝 外回り,芝・外,Turf,,, | |
360 | +2009,56,障害 芝 外-内回り,芝・外→内,Turf,,, | |
361 | +2009,57,障害 芝 内-外回り,芝・内→外,Turf,,, | |
362 | +2009,58,障害 芝 内2周,芝・内2周,Turf,,, | |
363 | +2009,59,障害 芝 外2周,芝・外2周,Turf,,, | |
364 | +2010,0,,,,,, | |
365 | +2010,1,良,Firm,Standard,,, | |
366 | +2010,2,稍重,Good,Good,,, | |
367 | +2010,3,重,Yielding,Muddy,,, | |
368 | +2010,4,不良,Soft,Sloppy,,, | |
369 | +2011,0,,,,,, | |
370 | +2011,1,晴,Fine,,,, | |
371 | +2011,2,曇,Cloudy,,,, | |
372 | +2011,3,雨,Rainy,,,, | |
373 | +2011,4,小雨,Drizzle,,,, | |
374 | +2011,5,雪,Snow,,,, | |
375 | +2011,6,小雪,Light Snow,,,, | |
376 | +2101,0,,,,,, | |
377 | +2101,1,出走取消,取消,SCRATCHED,S,, | |
378 | +2101,2,発走除外,発除,EXCLUDED BY STARTERS,ES,, | |
379 | +2101,3,競走除外,競除,EXCLUDED BY STEWARDS,ER,, | |
380 | +2101,4,競走中止,中止,FALL TO FINISH,FF,, | |
381 | +2101,5,失格,失格,DISQUALIFIED,DQ,, | |
382 | +2101,6,落馬再騎乗,再騎,REMOUNT AFTER A CROPPER,RM,, | |
383 | +2101,7,降着,降着,DISQUALIFIED AND PLACED,DQ&P,, | |
384 | +2102, ,,,,,, | |
385 | +2102, 12,1/2馬身,1/2,1/2,,, | |
386 | +2102, 34,3/4馬身,3/4,3/4,,, | |
387 | +2102,1 ,1馬身,1,1,,, | |
388 | +2102,112,11/2馬身,11/2,11/2,,, | |
389 | +2102,114,11/4馬身,11/4,11/4,,, | |
390 | +2102,134,13/4馬身,13/4,13/4,,, | |
391 | +2102,2 ,2馬身,2,2,,, | |
392 | +2102,212,21/2馬身,21/2,21/2,,, | |
393 | +2102,3 ,3馬身,3,3,,, | |
394 | +2102,312,31/2馬身,31/2,31/2,,, | |
395 | +2102,4 ,4馬身,4,4,,, | |
396 | +2102,5 ,5馬身,5,5,,, | |
397 | +2102,6 ,6馬身,6,6,,, | |
398 | +2102,7 ,7馬身,7,7,,, | |
399 | +2102,8 ,8馬身,8,8,,, | |
400 | +2102,9 ,9馬身,9,9,,, | |
401 | +2102,A ,アタマ,アタマ,HD,,, | |
402 | +2102,D ,同着,同着,DH,,, | |
403 | +2102,H ,ハナ,ハナ,NS,,, | |
404 | +2102,K ,クビ,クビ,NK,,, | |
405 | +2102,T ,大差,大差,DS,,, | |
406 | +2102,Z ,10馬身,10,10,,, | |
407 | +2201,0,,,,,, | |
408 | +2201,1,サラブレッド,サラ,,,, | |
409 | +2201,2,サラブレッド系種,サラ系,,,, | |
410 | +2201,3,準サラブレッド,準サラ,,,, | |
411 | +2201,4,軽半血種,軽半,,,, | |
412 | +2201,5,アングロアラブ,アア,,,, | |
413 | +2201,6,アラブ系種,アラ系,,,, | |
414 | +2201,7,アラブ,アラブ,,,, | |
415 | +2201,8,中半血種,中半,,,, | |
416 | +2202,0,,,,,, | |
417 | +2202,1,牡馬,C,H,,, | |
418 | +2202,2,牝馬,F,M,,, | |
419 | +2202,3,セン馬,G,G,,, | |
420 | +2203,00,,,,,, | |
421 | +2203,01,栗毛,chestnut,ch.,,, | |
422 | +2203,02,栃栗毛,dark chestnut,d.ch.,,, | |
423 | +2203,03,鹿毛,bay,b.,,, | |
424 | +2203,04,黒鹿毛,dark bay,d.b.,,, | |
425 | +2203,05,青鹿毛,brown,br.,,, | |
426 | +2203,06,青毛,black,bl.,,, | |
427 | +2203,07,芦毛,grey,g.,,, | |
428 | +2203,08,栗粕毛,,,,, | |
429 | +2203,09,鹿粕毛,,,,, | |
430 | +2203,10,青粕毛,,,,, | |
431 | +2203,11,白毛,white,w.,,, | |
432 | +2204,00,,,,,, | |
433 | +2204,01,(抽),(S),,,, | |
434 | +2204,02,[抽],,,,, | |
435 | +2204,03,(父),(D),,,, | |
436 | +2204,04,(市),(A),,,, | |
437 | +2204,05,(地),(R),,,, | |
438 | +2204,06,(外),(F),,,, | |
439 | +2204,07,(父)(抽),(D)(S),,,, | |
440 | +2204,08,(父)(市),(D)(A),,,, | |
441 | +2204,09,(父)(地),(D)(R),,,, | |
442 | +2204,10,(市)(地),(A)(R),,,, | |
443 | +2204,11,(外)(地),(F)(R),,,, | |
444 | +2204,12,(父)(市)(地),(D)(A)(R),,,, | |
445 | +2204,15,(招),(I),,,, | |
446 | +2204,16,(招)(外),(I)(F),,,, | |
447 | +2204,17,(招)(父),(I)(D),,,, | |
448 | +2204,18,(招)(市),(I)(A),,,, | |
449 | +2204,19,(招)(父)(市),(I)(D)(A),,,, | |
450 | +2204,20,(父)(外),,,,, | |
451 | +2204,21,[地],[R],,,, | |
452 | +2204,22,(外)[地],(F)[R],,,, | |
453 | +2204,23,(父)[地],(D)[R],,,, | |
454 | +2204,24,(市)[地],(A)[R],,,, | |
455 | +2204,25,(父)(市)[地],(D)(A)[R],,,, | |
456 | +2204,26,[外],[F],,,, | |
457 | +2204,27,(父)[外],(D)[F],,,, | |
458 | +2204,31,(持),,,,, | |
459 | +2204,40,(父)(外)(地),(D)(F)(R),,,, | |
460 | +2204,41,(父)(外)[地],(D)(F)[R],,,, | |
461 | +2301,0,,,,,, | |
462 | +2301,1,関東,美浦,,,, | |
463 | +2301,2,関西,栗東,,,, | |
464 | +2301,3,地方招待,招待,,,, | |
465 | +2301,4,外国招待,招待,,,, | |
466 | +2302,0,,,,,, | |
467 | +2302,1,平・障,,,,, | |
468 | +2302,2,平地,,,,, | |
469 | +2302,3,障害,,,,, | |
470 | +2303,0,,,,,, | |
471 | +2303,1,☆,1Kg減,,,, | |
472 | +2303,2,△,2Kg減,,,, | |
473 | +2303,3,▲,3Kg減,,,, |
@@ -1,3 +1,3 @@ | ||
1 | -Dto→TranslatorでReponse化する | |
2 | -Controller→InfraとAppで分割、Abstract化? | |
1 | +Controller→InfraとAppで分割、Abstract化? | |
3 | 2 | 子画面の開き方→ControllerのプロパティをVMがサブスクライブする、VMのプロパティをViewがサブスクライブする |
3 | +propaertychangedeventhandlerextensionのmixinをinfraに移動(名前空間で対応) |
@@ -12,6 +12,21 @@ | ||
12 | 12 | <FileAlignment>512</FileAlignment> |
13 | 13 | <AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects> |
14 | 14 | <Deterministic>true</Deterministic> |
15 | + <PublishUrl>publish\</PublishUrl> | |
16 | + <Install>true</Install> | |
17 | + <InstallFrom>Disk</InstallFrom> | |
18 | + <UpdateEnabled>false</UpdateEnabled> | |
19 | + <UpdateMode>Foreground</UpdateMode> | |
20 | + <UpdateInterval>7</UpdateInterval> | |
21 | + <UpdateIntervalUnits>Days</UpdateIntervalUnits> | |
22 | + <UpdatePeriodically>false</UpdatePeriodically> | |
23 | + <UpdateRequired>false</UpdateRequired> | |
24 | + <MapFileExtensions>true</MapFileExtensions> | |
25 | + <ApplicationRevision>0</ApplicationRevision> | |
26 | + <ApplicationVersion>1.0.0.%2a</ApplicationVersion> | |
27 | + <IsWebBootstrapper>false</IsWebBootstrapper> | |
28 | + <UseApplicationTrust>false</UseApplicationTrust> | |
29 | + <BootstrapperEnabled>true</BootstrapperEnabled> | |
15 | 30 | </PropertyGroup> |
16 | 31 | <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> |
17 | 32 | <PlatformTarget>AnyCPU</PlatformTarget> |
@@ -87,12 +102,19 @@ | ||
87 | 102 | <Reference Include="System.Xml" /> |
88 | 103 | </ItemGroup> |
89 | 104 | <ItemGroup> |
105 | + <Compile Include="App\Adaptor\Gateway\ViewModel\Dto\UmaRaceRowDto.cs" /> | |
106 | + <Compile Include="App\Adaptor\Gateway\ViewModel\Dto\ChakudosuuRowDto.cs" /> | |
107 | + <Compile Include="App\Adaptor\Gateway\ViewModel\IMainWindowViewModel.cs" /> | |
90 | 108 | <Compile Include="App\Adaptor\Presenter\ILoadHorseRaceSummaryPresenter.cs" /> |
91 | 109 | <Compile Include="App\AppConfig.cs" /> |
92 | 110 | <Compile Include="App\AppConst.cs" /> |
111 | + <Compile Include="App\Domain\Model\Logic\IUmaLogic.cs" /> | |
93 | 112 | <Compile Include="App\Domain\Model\Logic\IUmaRaceLogic.cs" /> |
94 | - <Compile Include="App\Domain\Model\Logic\LogicException.cs" /> | |
113 | + <Compile Include="Infra\Domain\LogicException.cs" /> | |
114 | + <Compile Include="App\Domain\Model\Logic\UmaLogic.cs" /> | |
115 | + <Compile Include="App\Domain\Model\Repository\Database\Dao\INUmaDao.cs" /> | |
95 | 116 | <Compile Include="App\Domain\Model\Repository\Database\Dao\INUmaRaceDao.cs" /> |
117 | + <Compile Include="App\Domain\Model\Repository\Database\Dao\NUmaDao.cs" /> | |
96 | 118 | <Compile Include="App\Domain\Translator\ILoadHorseRaceSummaryTranslator.cs" /> |
97 | 119 | <Compile Include="App\Domain\Translator\LoadHorseRaceSummaryTranslator.cs" /> |
98 | 120 | <Compile Include="App\Domain\UseCase\Interactor\ILoadHorseRaceSummaryInteractor.cs" /> |
@@ -103,9 +125,8 @@ | ||
103 | 125 | <Compile Include="App\Adaptor\Controller\IWindowController.cs" /> |
104 | 126 | <Compile Include="Infra\Adaptor\Controller\ShowWindowService.cs" /> |
105 | 127 | <Compile Include="App\Adaptor\Controller\WindowController.cs" /> |
106 | - <Compile Include="App\Adaptor\Presenter\IPresenter.cs" /> | |
128 | + <Compile Include="Infra\Adaptor\Presenter\IPresenter.cs" /> | |
107 | 129 | <Compile Include="App\Adaptor\Presenter\LoadHorseRaceSummaryPresenter.cs" /> |
108 | - <Compile Include="App\Adaptor\Gateway\ViewModel\IMainWindowViewModel.cs" /> | |
109 | 130 | <Compile Include="App\Adaptor\Gateway\ViewModel\IManualHorseListViewModel.cs" /> |
110 | 131 | <Compile Include="App\Adaptor\Gateway\ViewModel\MainWindowViewModel.cs" /> |
111 | 132 | <Compile Include="App\Adaptor\Gateway\ViewModel\ManualHorseListViewModel.cs" /> |
@@ -122,14 +143,14 @@ | ||
122 | 143 | <Compile Include="App\Presentation\View\ManualHorseList.Designer.cs"> |
123 | 144 | <DependentUpon>ManualHorseList.cs</DependentUpon> |
124 | 145 | </Compile> |
125 | - <Compile Include="App\Domain\Model\Repository\Database\Dao\DaoException.cs" /> | |
146 | + <Compile Include="Infra\Domain\DaoException.cs" /> | |
126 | 147 | <Compile Include="App\Domain\Model\Repository\Database\Dao\NUmaRaceDao.cs" /> |
127 | 148 | <Compile Include="App\Domain\Model\Repository\Database\Dto\ChakudosuuSummary.cs" /> |
128 | 149 | <Compile Include="App\Domain\Model\Repository\Database\Dto\NUmaRaceWithNRace.cs" /> |
129 | 150 | <Compile Include="App\Domain\Model\Repository\Database\Entity\EveryDB2.cs" /> |
130 | - <Compile Include="App\Adaptor\Gateway\UI\DlgInfo.cs" /> | |
131 | - <Compile Include="App\Adaptor\Gateway\UI\IUserDialogProxy.cs" /> | |
132 | - <Compile Include="App\Adaptor\Gateway\UI\UserDialogProxy.cs" /> | |
151 | + <Compile Include="Infra\Adaptor\Gateway\UI\DlgInfo.cs" /> | |
152 | + <Compile Include="Infra\Adaptor\Gateway\UI\IUserDialogProxy.cs" /> | |
153 | + <Compile Include="Infra\Adaptor\Gateway\UI\UserDialogProxy.cs" /> | |
133 | 154 | <Compile Include="Infra\Adaptor\Command\AbstractCommand.cs" /> |
134 | 155 | <Compile Include="Infra\Adaptor\Command\AbstractCommandBinder.cs" /> |
135 | 156 | <Compile Include="Infra\Adaptor\Command\CommandManager.cs"> |
@@ -146,10 +167,15 @@ | ||
146 | 167 | <Compile Include="Infra\DI\DIExceptionHelper.cs" /> |
147 | 168 | <Compile Include="Infra\DI\IComponentConnector.cs" /> |
148 | 169 | <Compile Include="Infra\Adaptor\Controller\Handler\IRequestHandler.cs" /> |
170 | + <Compile Include="Infra\Domain\Translator\ChildPropertyDescriptor.cs" /> | |
171 | + <Compile Include="Infra\Domain\Translator\NestedTypeDescriptor.cs" /> | |
149 | 172 | <Compile Include="Infra\Helper\BeanHelper.cs" /> |
173 | + <Compile Include="Infra\Helper\CodeHelper.cs" /> | |
150 | 174 | <Compile Include="Infra\Helper\LogicHelper .cs" /> |
151 | 175 | <Compile Include="Infra\Helper\DbHelper.cs" /> |
152 | 176 | <Compile Include="Infra\Helper\GenericsHelper.cs" /> |
177 | + <Compile Include="Infra\Domain\Translator\NestedTypeDescriptionProvider.cs" /> | |
178 | + <Compile Include="Infra\Helper\ResourceHelper.cs" /> | |
153 | 179 | <Compile Include="Infra\Log\Logger.cs" /> |
154 | 180 | <Compile Include="Infra\Domain\UseCase\IUseCaseInteractor.cs" /> |
155 | 181 | <Compile Include="Infra\Adaptor\Controller\Handler\IUseCaseRouter.cs" /> |
@@ -187,6 +213,7 @@ | ||
187 | 213 | <DependentUpon>Settings.settings</DependentUpon> |
188 | 214 | <DesignTimeSharedInput>True</DesignTimeSharedInput> |
189 | 215 | </Compile> |
216 | + <EmbeddedResource Include="Resources\CodeMaster\CodeTable.csv" /> | |
190 | 217 | </ItemGroup> |
191 | 218 | <ItemGroup> |
192 | 219 | <None Include="App.config" /> |
@@ -196,6 +223,20 @@ | ||
196 | 223 | <EmbeddedResource Include="Resources\Sql\NUmaRaceDao_findRaceSummary.sql" /> |
197 | 224 | <Content Include="ToDo.txt" /> |
198 | 225 | </ItemGroup> |
199 | - <ItemGroup /> | |
226 | + <ItemGroup> | |
227 | + <Folder Include="Infra\Adaptor\ViewModel\" /> | |
228 | + </ItemGroup> | |
229 | + <ItemGroup> | |
230 | + <BootstrapperPackage Include=".NETFramework,Version=v4.8"> | |
231 | + <Visible>False</Visible> | |
232 | + <ProductName>Microsoft .NET Framework 4.8 %28x86 および x64%29</ProductName> | |
233 | + <Install>true</Install> | |
234 | + </BootstrapperPackage> | |
235 | + <BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1"> | |
236 | + <Visible>False</Visible> | |
237 | + <ProductName>.NET Framework 3.5 SP1</ProductName> | |
238 | + <Install>false</Install> | |
239 | + </BootstrapperPackage> | |
240 | + </ItemGroup> | |
200 | 241 | <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> |
201 | 242 | </Project> |
\ No newline at end of file |