public ScenarioService(ProductRepository productRepository, CardRepository cardRepository)
        {
            this.cardRepository = cardRepository;
            this.cards          = cardRepository.Cards().ToList();
            foreach (var card in this.cards.Where(x => !string.IsNullOrEmpty(x.EncounterSet)))
            {
                if (!cardsByEncounterSet.ContainsKey(card.EncounterSet))
                {
                    cardsByEncounterSet[card.EncounterSet] = new List <Card>();
                }

                cardsByEncounterSet[card.EncounterSet].Add(card);
            }

            foreach (var group in productRepository.ProductGroups())
            {
                if (group.MainProduct != null)
                {
                    AddProduct(group.MainProduct, cards);
                }

                foreach (var product in group.ChildProducts)
                {
                    AddProduct(product, cards);
                }
            }

            listViewModel = new ScenarioListViewModel();
            var lookupCard = new Func <string, Card>((slug) => { return(cardRepository.FindBySlug(slug)); });

            foreach (var scenarioGroup in ScenarioGroups())
            {
                listViewModel.ScenarioGroups.Add(new ScenarioGroupViewModel(scenarioGroup, lookupCard));
            }
        }
Beispiel #2
0
 public StatService(CardRepository cardRepository)
 {
     cards = cardRepository.Cards();
     foreach (var card in cards)
     {
         Analyze(card);
     }
 }
        public CategoryService(CardRepository cardRepository)
        {
            cards = cardRepository.Cards();

            LoadCategories();
            LoadEncounterCategories();
            LoadQuestCategories();
        }
 public SearchService(ProductRepository productRepository, CardRepository cardRepository, ScenarioService scenarioService, AdvancedSearchService advancedSearchService, SearchSortService sortService, RingsDbService ringsDbService, NoteService noteService)
 {
     this.productRepository     = productRepository;
     this.cardRepository        = cardRepository;
     this.scenarioService       = scenarioService;
     this.advancedSearchService = advancedSearchService;
     this.sortService           = sortService;
     this.cards          = cardRepository.Cards();
     this.ringsDbService = ringsDbService;
     this.noteService    = noteService;
     this.getPopularity  = (slug) => { return(ringsDbService.GetPopularity(slug)); };
 }
Beispiel #5
0
        public RingsDbService(CardRepository cardRepository)
        {
            foreach (var card in cardRepository.Cards())
            {
                cardsBySlug.Add(card.Slug, card);

                var cardId = GetCardId(card.Slug);
                if (!string.IsNullOrEmpty(cardId))
                {
                    slugByCardId[cardId] = card.Slug;
                }
            }

            initializePopularity();
        }
Beispiel #6
0
 public RelationshipService(CardRepository cardRepository)
 {
     cards = cardRepository.Cards();
 }