string getRemainingStartersList(RaceRun raceRun, string grouping, int limit) { string output = ""; Application.Current.Dispatcher.Invoke(() => { ViewConfigurator viewConfigurator = new ViewConfigurator(raceRun.GetRace()); var vp = viewConfigurator.GetRemainingStartersViewProvider(raceRun); if (grouping != null) { vp.ChangeGrouping(grouping); } List <object> remaingStarters = new List <object>(); int c = 0; foreach (var item in vp.GetView()) { if (limit >= 0 && c >= limit) { break; } remaingStarters.Add(item); c++; } output = JsonConversion.ConvertOnStartList(remaingStarters); }); return(output); }
string getResultList(Race race, string grouping) { string output = ""; Application.Current.Dispatcher.Invoke(() => { ViewConfigurator viewConfigurator = new ViewConfigurator(race); RaceResultViewProvider vp = viewConfigurator.GetRaceResultViewProvider(race); if (grouping != null) { vp.ChangeGrouping(grouping); } output = JsonConversion.ConvertRaceResults(vp.GetView(), (uint)race.GetMaxRun()); }); return(output); }
string getStartList(RaceRun raceRun, string grouping) { string output = ""; Application.Current.Dispatcher.Invoke(() => { ViewConfigurator viewConfigurator = new ViewConfigurator(raceRun.GetRace()); StartListViewProvider vp = viewConfigurator.GetStartlistViewProvider(raceRun); if (grouping != null) { vp.ChangeGrouping(grouping); } output = JsonConversion.ConvertStartList(vp.GetView()); }); return(output); }