public void Remove(SimulatorConfigElement serviceConfig) { BaseRemove(serviceConfig.Type); }
private static void RunSoccerSimulator(SoccerSimulator simulator, SimulatorConfigElement simulatorConfigElement) { if (!string.IsNullOrWhiteSpace(simulatorConfigElement.ConfigUri)) SettingsFactory.SetConfigUri(simulatorConfigElement.ConfigUri); if (!string.IsNullOrWhiteSpace(simulatorConfigElement.RootElementName)) SettingsFactory.RootElementName = simulatorConfigElement.RootElementName; var config = SettingsFactory.GetConfig(); //simulator.Settings = SettingsFactory.GetSettings(); simulator.Settings = config.Settings; if (config.DataFactory != null) { DataFactory = config.DataFactory; } var simulationData = DataFactory.Generate().WaitForResult(); var result = simulator.Simulate(simulationData); for (var i = 0; i < result.PlayerResults.Count; i++) { var gameweek = result.PlayerResults.Keys.Cast<Gameweek>().ElementAt(i); var players = (IEnumerable<SoccerSimulationPlayerResult>) result.PlayerResults.Values.ElementAt(i); var positionGroups = players.GroupBy(x => x.Player.Fantasy.Position); Console.WriteLine("Gameweek #{0}", gameweek.Number); foreach (var group in positionGroups) { Console.WriteLine("Position: {0}", group.Key); foreach (var playerRes in group) { var playerRecPtsStr = ""; var teamRecPtsStr = ""; if (playerRes.PlayerRecommendations.Any()) { foreach (var rec in playerRes.PlayerRecommendations) { playerRecPtsStr += string.Format("{0}: {1} | ", rec.Type, rec.Points); } playerRecPtsStr = playerRecPtsStr.Substring(0, playerRecPtsStr.LastIndexOf(" | ")); } if (playerRes.TeamRecommendations.Any()) { foreach (var rec in playerRes.TeamRecommendations) { teamRecPtsStr += string.Format("{0}: {1} | ", rec.Type, rec.Points); } teamRecPtsStr = teamRecPtsStr.Substring(0, teamRecPtsStr.LastIndexOf(" | ")); } //Console.WriteLine("{0} [{1}] \t\t--- rec.pts: {2}", playerRes.Player.DisplayName, playerRes.Player.Rating, playerRes.RecommendationPoints); //Console.WriteLine("{0} [{1}] \t\t--- rec.pts: {2} \t\t\t\t--- {3}", playerRes.Player.DisplayName, playerRes.Player.Rating, playerRes.RecommendationPoints, playerRecPtsStr); //Console.WriteLine("{0} [{1}] \t\t--- rec.pts: {2} \t\t\t\t--- P.Rec: {3}\t--- T.Rec: {4}", playerRes.Player.DisplayName, playerRes.Player.Rating, playerRes.RecommendationPoints, playerRecPtsStr, teamRecPtsStr); var msg = $"{playerRes.Player.DisplayName} [{playerRes.Player.Rating}] \t\t-- rec.pts: {playerRes.RecommendationPoints} \t\t-- P.Rec: {playerRecPtsStr}\t-- T.Rec: {teamRecPtsStr}"; Console.WriteLine(msg); } Console.WriteLine(); } Console.WriteLine(); Console.WriteLine(); Console.WriteLine(); } // todo: export as csv/excel? detailed report, with the team-vs-team, estimated points, recommendation points }
public void Add(SimulatorConfigElement serviceConfig) { BaseAdd(serviceConfig); }