Esempio n. 1
0
        // 투수정보를 가지고 온다.
        private PitcherInfo GetFirstPitchers(Match match, AttackType attckType,
                                             String teamInitial, DateTime dateTime)
        {
            // 경기를 가져온다.
            DatabaseManager dbMgr     = new DatabaseManager();
            var             players   = dbMgr.SelectAll <Player>();
            var             matches   = dbMgr.SelectAll <Match>();
            var             schedules = dbMgr.SelectAll <Schedule>();
            var             ths       = dbMgr.SelectAll <Th>();
            var             bats      = dbMgr.SelectAll <Bat>();

            // 지난 데이터의 분석기 생성
            BeThe.DataAnalyzer.Manager analyzer = new BeThe.DataAnalyzer.Manager();
            analyzer.MaxDateTime = dateTime;

            ThType tyType = attckType == AttackType.Home ? ThType.말 : ThType.초;

            var pitcherId = (from t in ths
                             join b in bats
                             on t.Id equals b.ThId
                             where t.MatchId == match.Id &&
                             t.Number == 1 && t.ThType == tyType
                             select b).First().PitcherId;

            // 투수 정보 가져오기
            var pitcherInfo = analyzer.GetPitcherInfo(pitcherId, 4);

            return(pitcherInfo);
        }
Esempio n. 2
0
        //  한경기의 한쪽 팀의 분석정보를 가져온다.
        private AnalyzerData GetAnalyzerData(Match match, AttackType attckType,
                                             String teamInitial, DateTime dateTime)
        {
            // 분석된 데이터 만들기
            AnalyzerData analyzerData = new AnalyzerData();

            analyzerData.HitterInfos = new List <HitterInfo>();

            // 경기를 가져온다.
            DatabaseManager dbMgr     = new DatabaseManager();
            var             players   = dbMgr.SelectAll <Player>();
            var             matches   = dbMgr.SelectAll <Match>();
            var             schedules = dbMgr.SelectAll <Schedule>();
            var             ths       = dbMgr.SelectAll <Th>();
            var             bats      = dbMgr.SelectAll <Bat>();

            ThType tyType = attckType == AttackType.Home ? ThType.말 : ThType.초;

            // 지난 데이터의 분석기 생성
            BeThe.DataAnalyzer.Manager analyzer = new BeThe.DataAnalyzer.Manager();
            analyzer.MaxDateTime = dateTime;

            // 당일 선발투수 가져오기(분석시 입력 혹은 크롤링 구현)
            var pitcherId = (from t in ths
                             join b in bats
                             on t.Id equals b.ThId
                             where t.MatchId == match.Id &&
                             t.Number == 1 && t.ThType == tyType
                             select b).First().PitcherId;

            // 투수 정보 가져오기
            analyzerData.PitcherInfo = analyzer.GetPitcherInfo(pitcherId, 4);

            // 타자리스트 얻어오기
            var hitters = analyzer.GetStartPlayerForNDays(teamInitial, 4);

            foreach (var hitter in hitters)
            {
                // 각타자의 정보 얻어오기
                var HitInfo = GetHitterInfo(hitter.PlayerId, analyzer, teamInitial);
                analyzerData.HitterInfos.Add(HitInfo);
            }
            return(analyzerData);
        }