예제 #1
0
        public AnnualPlanGameModel GetGameAnnualPlanModel(GameType gameType, int marketingYearId)
        {
            MarketingYearId = marketingYearId;
            GameType        = (int)gameType;

            var gamesByKind = GamesByType.GroupBy(x => x.Kind);

            var annualPlanKindGameModels = new List <AnnualPlanKindGameModel>();

            foreach (var gameByKind in gamesByKind)
            {
                if (!CurrentHuntPlans.Any(x => gameByKind.Any(y => y.Id == x.GameId)))
                {
                    continue;
                }
                AnnualPlanKindGameModel kindGameModel = GetKindAnnualPlanModel(gameByKind);

                annualPlanKindGameModels.Add(kindGameModel);
            }

            var gameAnnualPlanModel = new AnnualPlanGameModel
            {
                AnnualPlanKindGameModels = annualPlanKindGameModels
            };

            return(gameAnnualPlanModel);
        }
예제 #2
0
        private AnnualPlanKindGameModel GetKindAnnualPlanModel(IGrouping <int, GameDto> gameByKind)
        {
            var annualPlanSubKindGameModels = new List <AnnualPlanSubKindGameModel>();

            foreach (var gameBySubKind in gameByKind.GroupBy(x => x.SubKind))
            {
                if (gameBySubKind.Key.HasValue)
                {
                    AnnualPlanSubKindGameModel subKindGameModel = GetSubKindAnnualPlanModel(gameByKind.Key, gameBySubKind);

                    annualPlanSubKindGameModels.Add(subKindGameModel);
                }
            }

            var annualPlanKindGameModel = new AnnualPlanKindGameModel
            {
                Kind     = gameByKind.Key,
                KindName = GamesByType.FirstOrDefault(x => x.Kind == gameByKind.Key).KindName,
                Type     = (GameType)GameType,
                AnnualPlanSubKindGameModels = annualPlanSubKindGameModels
            };

            List <int> gameIds = GamesByType.Where(x => x.Kind == gameByKind.Key).Select(x => x.Id).ToList();

            annualPlanKindGameModel = SetPlans(annualPlanKindGameModel, gameIds);

            return(annualPlanKindGameModel);
        }