Exemple #1
0
        static void Main(string[] args)
        {
            var productRepo     = new ProductRepository();
            var cardRepo        = new CardRepository(productRepo);
            var scenarioService = new ScenarioService(productRepo, cardRepo);

            Console.WriteLine("Scenario Builder");

            foreach (var g in scenarioService.ScenarioGroups())
            {
                Console.WriteLine("Scenario Group: " + g.Name);
                foreach (var s in g.Scenarios)
                {
                    var slug     = getScenarioSlug(s);
                    var fileName = slug + ".cs";
                    Console.WriteLine(string.Format("  {0} ({1})", s.Title, fileName));
                    var text = getScenarioText(s, slug);
                    System.IO.File.WriteAllText(fileName, text);
                }
            }

            Console.WriteLine("DONE");
            Console.ReadLine();
        }
        public ActionResult Get(string name)
        {
            var result = new JsonResult()
            {
                JsonRequestBehavior = JsonRequestBehavior.AllowGet
            };

            switch (name)
            {
            case "Cards":
                result.Data = "This method is no longer supported for performance reasons. Use export/PlayerCards, export/EncounterCards or export/QuestCards instead. Thanks for your support!";     //cardRepository.Cards().Where(x => x.CardSet.SetType != SetType.CUSTOM).Select(x => new SimpleCard(x)).ToList();
                break;

            case "PlayerCards":
                result.Data = cardRepository.Cards().Where(x => x.CardSet.SetType != SetType.CUSTOM && IsPlayerCard(x)).Select(y => new SimpleCard(y)).ToList();
                break;

            case "EncounterCards":
                result.Data = cardRepository.Cards().Where(x => x.CardSet.SetType != SetType.CUSTOM && IsEncounterCard(x)).Select(y => new SimpleCard(y)).ToList();
                break;

            case "QuestCards":
                result.Data = cardRepository.Cards().Where(x => x.CardSet.SetType != SetType.CUSTOM && IsQuestCard(x)).Select(y => new SimpleCard(y)).ToList();
                break;

            case "Scenarios":
                var scenarios = new List <SimpleScenario>();
                foreach (var group in scenarioService.ScenarioGroups())
                {
                    foreach (var item in group.Scenarios)
                    {
                        var scenario = new SimpleScenario()
                        {
                            Title = item.Title, Number = (uint)item.Number
                        };

                        foreach (var quest in item.QuestCards.Select(x => x.Quest))
                        {
                            scenario.QuestCards.Add(new SimpleCard(quest));
                        }

                        foreach (var card in item.ScenarioCards)
                        {
                            scenario.ScenarioCards.Add(new SimpleScenarioCard()
                            {
                                EncounterSet      = card.EncounterSet,
                                Title             = card.Title,
                                NormalQuantity    = (uint)card.NormalQuantity,
                                EasyQuantity      = (uint)card.EasyQuantity,
                                NightmareQuantity = (uint)card.NightmareQuantity
                            });
                        }

                        scenarios.Add(scenario);
                    }
                }

                result.Data = scenarios;
                break;

            case "CardSets":
                result.Data = scenarioService.CardSets().Select(x => new SimpleCardSet {
                    Name = x.Name, Cycle = x.Cycle, SetType = x.SetType.ToString()
                }).ToList();
                break;

            case "EncounterSets":
                result.Data = scenarioService.EncounterSetNames();
                break;

            default:
                if (!string.IsNullOrEmpty(name))
                {
                    result.Data = "Unknown record type: " + name;
                }
                else
                {
                    result.Data = "Undefined record type";
                }
                break;
            }

            return(result);
        }