/// <summary> /// Code to get the data which we will pass to chart /// </summary> /// <returns></returns> public Country GetChartData() { Country objproduct = new Country(); var listAirports = airS.GetMany().ToList(); var listReservation = ResS.GetMany().ToList(); var listInfoFlight = flightIS.GetMany().ToList(); var listFlight = Fs.GetMany().ToList(); var query = from flight in listFlight join resr in listReservation on flight.idFlight equals resr.flight_idFlight join FlightInf in listInfoFlight on flight.idFlight equals FlightInf.idFlight join air in listAirports on FlightInf.idFlight equals air.idAirport group air by air.country into a select new { CountryName = a.Key, Visiteurs = a.Count() } ; { // airports=airports.Where((airport=>airport.idAirport)==(flight=>flight.)) } // var query = from air in listAirports select new { CountryName = air.country }; /*Get the data from databse and prepare the chart record data in string form.*/ int i = 0; String[] listCountry = new String[query.ToList().Capacity]; String[] listVisiters = new String[query.ToList().Capacity]; foreach (var q in query.ToList()) { //Country c = new Country(q.CountryName); listCountry [i] = q.CountryName; listVisiters[i] = q.Visiteurs.ToString(); //objproduct.CountryName = q.CountryName; i = i + 1; } string countrys = ""; string visituers = ""; for (int c = 0; c < listCountry.Length - 1; c++) { countrys += listCountry[c] + ","; visituers += listVisiters[c] + ","; } countrys += listCountry[listCountry.Length - 1]; visituers += listVisiters[listVisiters.Length - 1]; objproduct.CountryName = countrys; objproduct.Visiteurs = visituers; return(objproduct); }