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>()); }