public IActionResult Results(string season, string round) { //TODO ADD MAPPING TO ALL THOSE NEW DRIVER, CONSTRUCTOR... CLASSES RaceResultsViewModel raceResultsViewModel = new RaceResultsViewModel(); RootObject rootObject = _mapper.Map <F1Api.Models.RaceInfoModels.RootObject>(AccessData.LoadResultsSpecificRace(season, round)); raceResultsViewModel.RootObject = rootObject; return(View(raceResultsViewModel)); }
public ActionResult ElectionMonitoringRaceResults(string regioncode) { var results = new List <Models.AggregatedRaceResult>(); var title = "National results of Presidential Elections"; //TODO: Rework //This reall y should try to get for a particualr region //if region is unknown it should return for whoel country if ((string.IsNullOrEmpty(regioncode)) || regioncode == "NGA") { //get results = raceResultsService.GetAggregatedRaceResults(1, "").ToList(); title = "National results of Presidential Elections"; } else { results = raceResultsService.GetAggregatedRaceResults(1, regioncode).ToList(); title = regioncode + " state results of Presidential Elections"; } if (results.Count < 1) { title = "No results found"; } string[][] data = new string[results.Count][]; for (int i = 0; i < results.Count; i++) { var result = results[i]; var name = result.PartyAcronym + " (" + result.FirstName.Substring(0, 1) + "." + result.LastName + ")"; name = result.PartyAcronym; data[i] = new string[] { name, result.TotalVotes.ToString() }; } var returnValue = new RaceResultsViewModel { Title = title, PieData = data }; return(Json(returnValue, JsonRequestBehavior.AllowGet)); }
public ActionResult EnterResults(RaceResultsViewModel viewModel) { bool created = false; viewModel.SubmittedOn = DateTime.Now; Mapper.CreateMap <ViewModels.RaceResultsViewModel, Models.RaceResult>(); var raceResult = Mapper.Map <ViewModels.RaceResultsViewModel, Models.RaceResult>(viewModel); raceResult.ApprovedBy = null; raceResult.ApprovedOn = null; raceResult.ModifiedBy = null; raceResult.ModifiedOn = null; var raceResultID = raceResultsService.CreateRaceResult(raceResult); if (raceResultID > 0) { created = true; } return(Json(new { Created = created }, JsonRequestBehavior.AllowGet)); }
public ActionResult RaceResults(RaceResultsViewModel viewModel) { try { var regionalResults = new List <RegionResultViewModel>(); var overallResults = new RegionResultViewModel(); //get all results for the given race var allRegionsResults = raceResultsService.GetAggregatedRaceResults(viewModel.RaceID, null).ToList(); var regions = raceResultsService.GetRegions().Where(r => r.TopLevel == true).ToList(); //get all toplevel regions Mapper.CreateMap <Models.AggregatedRaceResult, ViewModels.AggregatedRaceResultViewModel>(); //get result per region foreach (var region in regions) { var regionresult = new RegionResultViewModel(); regionresult.Region = new RegionViewModel { RegionID = region.RegionID, RegionCode = region.RegionCode, Name = region.Name }; regionresult.Results = Mapper.Map <List <Models.AggregatedRaceResult>, List <ViewModels.AggregatedRaceResultViewModel> > (allRegionsResults.Where(rr => rr.RegionCode.ToLower() == region.RegionCode.ToLower()).ToList()); regionresult.Winner = regionresult.Results.OrderByDescending(rr => rr.TotalVotes).FirstOrDefault(); regionalResults.Add(regionresult); } // overall results // aggregate for all regions var aggResults = allRegionsResults.GroupBy(r => r.PartyAcronym) .Select(r => { AggregatedRaceResult aggregatedRaceResult = r.FirstOrDefault(); return(new { PartyAcronym = r.Key , aggregatedRaceResult.RegionID , aggregatedRaceResult.RegionCode , aggregatedRaceResult.RegionName , aggregatedRaceResult.RaceID, CandidateID = aggregatedRaceResult.CandidateId, aggregatedRaceResult.FirstName, aggregatedRaceResult.LastName, aggregatedRaceResult.MiddleName, aggregatedRaceResult.PartyName, aggregatedRaceResult.PartyColor, TotalVotes = r.Sum(p => p.TotalVotes), }); }).ToList(); overallResults.Results = new List <AggregatedRaceResultViewModel>(); foreach (var aggResult in aggResults) { overallResults.Results.Add(new AggregatedRaceResultViewModel { PartyAcronym = aggResult.PartyAcronym, RegionID = aggResult.RegionID, RegionCode = aggResult.RegionCode, RegionName = aggResult.RegionName, RaceID = aggResult.RaceID, CandidateID = aggResult.CandidateID, TotalVotes = aggResult.TotalVotes.Value, FirstName = aggResult.FirstName, LastName = aggResult.LastName, MiddleName = aggResult.MiddleName, PartyName = aggResult.PartyName, PartyColor = aggResult.PartyColor, }); } var allResults = new RaceResultsViewModel { RegionalResults = regionalResults, SelectedRegionResults = string.IsNullOrEmpty(viewModel.RegionCode) ? overallResults : regionalResults.FirstOrDefault(rr => rr.Region.RegionCode == viewModel.RegionCode) }; return(Json(allResults, JsonRequestBehavior.AllowGet)); } catch (Exception ex) { return(Json(new { Message = ex.Message, StackTrace = ex.StackTrace, InnerException = ex.InnerException.Message })); } }
public RaceResultsView() { InitializeComponent(); DataContext = new RaceResultsViewModel(); }