public async Task <List <ResultsView> > GetResults() { using (var db = new Session5Entities()) { var returnlist = new List <ResultsView>(); var Skillid = (from s in db.Skills where s.skillName == comboBox1.SelectedItem.ToString() select s.skillId).First(); var competitors = (from c in db.Competitors where c.skillIdFK == Skillid select c).ToList(); number_sessions_label.Text = (from c in db.Competitions where c.skillIdFK == Skillid select c).Count().ToString(); completed_sessions_label.Text = (from r in db.Results where r.totalMarks != 0 where r.Competition.skillIdFK == Skillid select r.competitionIdFK).Distinct().Count().ToString(); foreach (var item in competitors) { double mark = 0; var results = (from r in db.Results where r.recordsIdFK == item.recordsId select r).ToList(); foreach (var item1 in results) { mark += item1.totalMarks; } var rv = new ResultsView() { Competitor = item.competitorName, Country = item.competitorCountry, TotalMarks = mark }; returnlist.Add(rv); } return(returnlist); } }
private void SetPositions() { using (var db = new Session5Entities()) { var CountryPositions = new List <ResultsView>(); var rv = new ResultsView() { Competitor = "Dummy", Country = "Dummy", TotalMarks = 0 }; CountryPositions.Add(rv); CountryPositions.Add(rv); CountryPositions.Add(rv); CountryPositions.Add(rv); var positions = (from a in DGVList orderby a.TotalMarks descending select a); var Skillid = (from s in db.Skills where s.skillName == comboBox1.SelectedItem.ToString() select s.skillId).First(); var comps = (from s in db.Competitions where s.skillIdFK == Skillid select new { sum = s.q1MaxMarks + s.q2MaxMarks + s.q3MaxMarks + s.q4MaxMarks }).ToList(); int totalmarks = 0; foreach (var item in comps) { totalmarks += item.sum; } foreach (var item in positions) { if ((item.TotalMarks / totalmarks) >= 0.8 && item.TotalMarks > CountryPositions[0].TotalMarks) { Console.WriteLine("Gold"); CountryPositions[0] = item; } else if ((item.TotalMarks / totalmarks) >= 0.75 && item.TotalMarks > CountryPositions[1].TotalMarks) { Console.WriteLine("Silver"); CountryPositions[1] = item; } else if ((item.TotalMarks / totalmarks) >= 0.75 && item.TotalMarks > CountryPositions[2].TotalMarks) { Console.WriteLine("Silver"); CountryPositions[2] = item; } else if ((item.TotalMarks / totalmarks) >= 0.71 && item.TotalMarks > CountryPositions[3].TotalMarks) { Console.WriteLine("Bronze"); CountryPositions[3] = item; } } for (int i = 0; i <= 4; i++) { try { if (i == 0) { gold_flag.Image = setFlag(CountryPositions[i].Country); } else if (i == 1) { silver_flag.Image = setFlag(CountryPositions[i].Country); } else if (i == 2) { silver2_flag.Image = setFlag(CountryPositions[i].Country); } else if (i == 3) { shit_flag.Image = setFlag(CountryPositions[i].Country); } } catch { } } } }