Beispiel #1
0
        public static void Calculate(IDbConnection db, int leagueId)
        {
            var teams        = db.Select(db.From <Team>().Where(p => p.LeagueId == leagueId));
            var tableEntries = db.Select(db.From <TableEntry>().Where(p => p.LeagueId == leagueId));
            var matches      = db.LoadSelect(db.From <Match>().Where(p => p.LeagueId == leagueId));

            EnsureEachTeamHasTableEntry(db, leagueId, teams, tableEntries);

            tableEntries = db.LoadSelect(db.From <TableEntry>().Where(p => p.LeagueId == leagueId));

            UpdateTableEntries(db, teams, matches, tableEntries);

            UpdateRanks(db, tableEntries, OrderRuleFactory.CreateOrderRules(db, leagueId));
        }
        public void TheatreCannotHostOrderRuleTest()
        {
            var rule   = OrderRuleFactory.Create <TheatreCanHandlePartyOrderRule>();
            var layout = new List <string> {
                "2 3", "3 4 5", "6 7 8"
            };

            Theatre.Instance.ParseLayout(layout);
            var ticketRequest = new TicketRequest {
                PartyName = "Test1", TicketCount = 50
            };

            Assert.DoesNotThrow(() => rule.Validate(Theatre.Instance.Layout, ticketRequest));
        }
 private Theatre()
 {
     _orderRules.Add(OrderRuleFactory.Create <TheatreCanHandlePartyOrderRule>());
     _orderRules.Add(OrderRuleFactory.Create <PartySitInSingleRowOrderRule>());
 }