Ejemplo n.º 1
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);
        }
Ejemplo n.º 2
0
        private AnnualPlanSubKindGameModel GetSubKindAnnualPlanModel(int?gameKind, IGrouping <int?, GameDto> gameBySubKind)
        {
            if (!gameBySubKind.Key.HasValue)
            {
                return(new AnnualPlanSubKindGameModel());
            }

            List <GameHuntPlanDto> classHuntPlans = (from game in Games
                                                     join currentHuntPlan in CurrentHuntPlans on game.Id equals currentHuntPlan.GameId
                                                     where game.Kind == gameKind && game.SubKind == gameBySubKind.Key && currentHuntPlan.Class != null
                                                     select currentHuntPlan).ToList();

            var annualPlanClassGameModels = new List <AnnualPlanClassGameModel>();

            foreach (GameHuntPlanDto classHuntPlan in classHuntPlans)
            {
                AnnualPlanClassGameModel annualPlanClassGameModel = GetClassAnnualPlanModel(classHuntPlan);

                annualPlanClassGameModels.Add(annualPlanClassGameModel);
            }

            var annualPlanKindGameModel = new AnnualPlanSubKindGameModel
            {
                Type        = (GameType)GameType,
                SubKind     = gameBySubKind.Key,
                SubKindName = GamesByType.FirstOrDefault(x => x.Kind == gameKind && x.SubKind == gameBySubKind.Key).SubKindName,
                AnnualPlanClassGameModels = annualPlanClassGameModels
            };

            int gameId = GamesByType.FirstOrDefault(x => x.Kind == gameKind && x.SubKind == gameBySubKind.Key).Id;

            annualPlanKindGameModel = SetPlans(annualPlanKindGameModel, new List <int> {
                gameId
            });

            return(annualPlanKindGameModel);
        }