/// <summary>
        /// チャートスクリプト取得
        /// </summary>
        public ChartResult GetChartResult(IChartDto chartDto)
        {
            var targetScript = Flotr2ScriptResource.FormationChartScriptTemplete;
            FormationChartDto = (FormationChartDto)chartDto;

            // コンテナの設定
            targetScript = InjectScriptContainer(targetScript, FormationChartDto);

            // 共通部分の情報
            var partialScript = Flotr2ScriptPartsResource.FormationSharedTemplete;
            //プロパティ設定
            partialScript = InjectParameterToProperties(partialScript, FormationChartDto.FormationChartProperties.SharedProperties);

            // ターゲットスクリプトへの反映
            targetScript = InjectParameter(targetScript, Flotr2Const.FormationSheredTemplete, partialScript);

            return new ChartResult()
            {
                ChartScript = targetScript,
                ChartContainerSettings = new ChartContainerSettings()
                {
                    ChartContainerId = FormationChartDto.FormationChartContainer.ViewContainerId,
                    ChartContainerClass = FormationChartDto.FormationChartContainer.ViewContainerClass
                }
            };
        }
Exemple #2
0
        public ActionResult ShowFormationChart(FormationChartDto formationChartDto)
        {
            var flotr2ChartProvider = new Flotr2ChartProvider();

            var chartResult = flotr2ChartProvider.GetChartResult(formationChartDto, Flotr2Const.ChartType.Formation);

            return PartialView("~/Views/Chart/Mobile/_Flotr2Chart.cshtml", chartResult);
        }
Exemple #3
0
 public JlgGameInfoViewModel()
 {
     homeTeamSpec = new JlgTeamSpec();
     awayTeamSpec = new JlgTeamSpec();
     FormationChartDto = new FormationChartDto();
 }
        /// <summary>
        /// コンテナーのstring生成
        /// </summary>
        private string InjectScriptContainer(string targetScript, FormationChartDto formationChartDto)
        {
            var result = targetScript;

            //コンテナーId設定
            result = InjectParameter(result, ContainerParameterKey.ContainerId, FormationChartDto.FormationChartContainer.ViewContainerId);

            List<string> containerScript = new List<string>();

            // ホームチームの情報
            // フォーメーションの情報
            // 位置を示す円(バブルチャート)
            var partialScript = Flotr2ScriptPartsResource.FormationBubblesTemplete;
            //コンテナー設定(バブルチャートの位置)
            partialScript = InjectScriptParameterByDataSource(partialScript, FormationChartDto.FormationChartContainer.HomePositionContainer);
            //プロパティ設定(バブルチャート関連)
            partialScript = InjectParameterToProperties(partialScript, FormationChartDto.FormationChartProperties.HomePositionProperties);

            // MouseON時ファンクションの設定
            partialScript = InjectParameterToTrackFormatter(partialScript, FormationChartDto.FormationChartContainer.HomePlayerIDList, FormationChartDto.FormationChartContainer.HomePositionContainer, Flotr2Const.Home);

            // コンテナーの中身を追加
            containerScript.Add(partialScript);

            // 選手名のマーカー
            partialScript = Flotr2ScriptPartsResource.FormationMarkersTemplete;
            //コンテナー設定(マーカーの位置)
            partialScript = InjectScriptParameterByDataSource(partialScript, FormationChartDto.FormationChartContainer.HomePlayerNameContainer);
            //プロパティ設定(マーカー関連)
            partialScript = InjectParameterToProperties(partialScript, FormationChartDto.FormationChartProperties.HomePlayerNameProperties);

            // Label表示のファンクション設定
            partialScript = InjectParameterToLabelFormatter(partialScript, FormationChartDto.FormationChartContainer.HomePlayerNameContainer, Flotr2Const.HomePlayerName);

            // コンテナーの中身を追加
            containerScript.Add(partialScript);

            // 選手背番号のマーカー
            partialScript = Flotr2ScriptPartsResource.FormationMarkersTemplete;
            //コンテナー設定(マーカーの位置)
            partialScript = InjectScriptParameterByDataSource(partialScript, FormationChartDto.FormationChartContainer.HomePlayerNoContainer);
            //プロパティ設定(マーカー関連)
            partialScript = InjectParameterToProperties(partialScript, FormationChartDto.FormationChartProperties.HomePlayerNoProperties);

            // Label表示のファンクション設定
            partialScript = InjectParameterToLabelFormatter(partialScript, FormationChartDto.FormationChartContainer.HomePlayerNoContainer, Flotr2Const.HomePlayerNo);

            // コンテナーの中身を追加
            containerScript.Add(partialScript);

            // アウェーチームの情報
            // フォーメーションの情報
            // 位置を示す円(バブルチャート)
            partialScript = Flotr2ScriptPartsResource.FormationBubblesTemplete;
            //コンテナー設定(バブルチャートの位置)
            partialScript = InjectScriptParameterByDataSource(partialScript, FormationChartDto.FormationChartContainer.AwayPositionContainer);
            //プロパティ設定(バブルチャート関連)
            partialScript = InjectParameterToProperties(partialScript, FormationChartDto.FormationChartProperties.AwayPositionProperties);

            // MouseON時ファンクションの設定
            partialScript = InjectParameterToTrackFormatter(partialScript, FormationChartDto.FormationChartContainer.AwayPlayerIDList, FormationChartDto.FormationChartContainer.AwayPositionContainer, Flotr2Const.Away);

            // コンテナーの中身を追加
            containerScript.Add(partialScript);

            // 選手名のマーカー
            partialScript = Flotr2ScriptPartsResource.FormationMarkersTemplete;
            //コンテナー設定
            partialScript = InjectScriptParameterByDataSource(partialScript, FormationChartDto.FormationChartContainer.AwayPlayerNameContainer);
            //プロパティ設定
            partialScript = InjectParameterToProperties(partialScript, FormationChartDto.FormationChartProperties.AwayPlayerNameProperties);

            // Label表示のファンクション設定
            partialScript = InjectParameterToLabelFormatter(partialScript, FormationChartDto.FormationChartContainer.AwayPlayerNameContainer,Flotr2Const.AwayPlayerName);

            // コンテナーの中身を追加
            containerScript.Add(partialScript);

            // 選手背番号のマーカー
            partialScript = Flotr2ScriptPartsResource.FormationMarkersTemplete;
            //コンテナー設定
            partialScript = InjectScriptParameterByDataSource(partialScript, FormationChartDto.FormationChartContainer.AwayPlayerNoContainer);
            //プロパティ設定
            partialScript = InjectParameterToProperties(partialScript, FormationChartDto.FormationChartProperties.AwayPlayerNoProperties);

            // Label表示のファンクション設.
            partialScript = InjectParameterToLabelFormatter(partialScript, FormationChartDto.FormationChartContainer.AwayPlayerNoContainer, Flotr2Const.AwayPlayerNo);

            // コンテナーの中身を追加
            containerScript.Add(partialScript);

            // カンマ区切りに展開したコンテナーを反映
            result = InjectParameter(result, ContainerParameterKey.Container, containerScript.CommaSeparated());

            return result;
        }
Exemple #5
0
        /// <summary>
        /// フォーメーション(守備力含、モバイル用)取得
        /// </summary>
        public FormationChartDto GetFormationInfoWithDefenseForMobile(int GameID)
        {
            // 返り値のための入れ物
            var formationChartDto = new FormationChartDto();

            // ID,classセット
            formationChartDto.FormationChartContainer.ViewContainerId = JlgChartConst.FormationContainerID;
            formationChartDto.FormationChartContainer.ViewContainerClass = JlgChartConst.ChartCssClassName.formation_chart.ToString();

            // チームID取得
            int homeTeamID = GetHomeTeamID(GameID);
            int awayTeamID = GetAwayTeamID(GameID);
            // チームID投入
            formationChartDto.FormationChartContainer.HomeTeamID = homeTeamID;
            formationChartDto.FormationChartContainer.AwayTeamID = awayTeamID;

            // フォーメーション情報がない場合のGameIDの入れ物
            int homeGameID = GameID;
            int awayGameID = GameID;
            // 表示用文言(予想)
            if (JlgCommon.GetStatusMatch(GameID.ToString()) == 0)
            {
                // フォーメーションの情報がまだない場合
                if (JlgEntities.FormationInfo.Where(x => x.GameID == GameID).Count() == 0)
                {
                    homeGameID = GetPreGameID(GameID, homeTeamID);
                    awayGameID = GetPreGameID(GameID, awayTeamID);
                    // 表示用文言(前節)
                    formationChartDto.StartingTypeForDisplay = JlgChartConst.PreviousMember;
                }
                else
                {
                    formationChartDto.StartingTypeForDisplay = JlgChartConst.ForecastMember;
                }
            }
            else
            {
                formationChartDto.StartingTypeForDisplay = String.Empty;
            }

            // コンテナーのデータ群取得
                // ホームチームのデータ取得
                List<JlgFormationInfo> homeformationInfo = GetJlgFormationInfo(homeGameID,homeTeamID);

                    // ホームチームフォーメーションの配置、攻撃力のデータ取得
                    formationChartDto.FormationChartContainer.HomePositionContainer = GetFormationPositionWithDefenseForMobile(homeformationInfo);
                    // ホームチームフォーメーションの選手名取得
                    formationChartDto.FormationChartContainer.HomePlayerNameContainer = GetFormationPlayerNameForMobile(homeformationInfo);
                    // ホームチームフォーメーションの選手背番号取得
                    formationChartDto.FormationChartContainer.HomePlayerNoContainer = GetFormationPlayerNoForMobile(homeformationInfo);
                    // ホームチームフォーメーションの選手ID取得
                    formationChartDto.FormationChartContainer.HomePlayerIDList = GetFormationPlayerIDList(homeformationInfo);

                // アウェーチームのデータ取得
                List<JlgFormationInfo> awayformationInfo = GetJlgFormationInfo(awayGameID,awayTeamID);

                    // アウェーチームフォーメーションのデータ取得
                    formationChartDto.FormationChartContainer.AwayPositionContainer = GetFormationPositionWithDefenseForMobile(awayformationInfo);
                    // アウェーチームフォーメーションの選手名取得
                    formationChartDto.FormationChartContainer.AwayPlayerNameContainer = GetFormationPlayerNameForMobile(awayformationInfo);
                    // アウェーチームフォーメーションの選手背番号取得
                    formationChartDto.FormationChartContainer.AwayPlayerNoContainer = GetFormationPlayerNoForMobile(awayformationInfo);
                    // アウェーチームフォーメーションの選手ID取得
                    formationChartDto.FormationChartContainer.AwayPlayerIDList = GetFormationPlayerIDList(awayformationInfo);

            // プロパティのデータ群取得
            formationChartDto.FormationChartProperties = GetFormationChartProperties();

            // 返り値セット
            return formationChartDto;
        }