public static List <Pacco> OttieniListaPacchi(string connectionString, int idCliente) { List <Viaggio> listaViaggi = OttieniListaViaggi(connectionString); List <Cliente> listaClienti = OttieniListaUtenti(connectionString); List <Pacco> lista = new List <Pacco>(); string queryString = "SELECT * FROM pacco INNER JOIN cliente ON cliente.idCliente=pacco.idDestinatario WHERE idDestinatario=" + idCliente + ";"; string messaggio = ""; using (MySqlConnection connection = new MySqlConnection(connectionString)) { MySqlCommand command = new MySqlCommand(queryString, connection); try { connection.Open(); MySqlDataAdapter da = new MySqlDataAdapter(command); DataTable dt = new DataTable(); da.Fill(dt); foreach (DataRow dr in dt.Rows) { Pacco p = new Pacco((int)dr["idPacco"], listaViaggi.Find(x => x.IdViaggio == (int)dr["idViaggio"]), listaClienti.Find(x => x.IdCliente == (int)dr["idMittente"]), listaClienti.Find(x => x.IdCliente == (int)dr["idDestinatario"]), (int)dr["Volume"]); lista.Add(p); } } catch (Exception ex) { Console.WriteLine(ex.Message); } } return(lista); }
//public static List<Pacco> OttieniListaPacchi(string connectionString, Cliente c) //{ // List<Pacco> lista = new List<Pacco>(); // string queryString = "SELECT cliente.nome AS nomemittente,cliente.cognome AS cognomemittente,subquery.* FROM cliente" + // "INNER JOIN(SELECT idPacco, idMittente, volume, nome, cognome, indirizzo, data FROM pacco" + // "INNER JOIN cliente ON cliente.idCliente= pacco.idDestinatario" + // "INNER JOIN viaggio ON viaggio.idViaggio= pacco.idViaggio" + // "WHERE idDestinatario = "+c.IdCliente+") AS subquery" + // "ON subquery.idMittente = cliente.idCliente"; // string messaggio = ""; // using (MySqlConnection connection = new MySqlConnection(connectionString)) // { // MySqlCommand command = new MySqlCommand(queryString, connection); // try // { // connection.Open(); // MySqlDataAdapter da = new MySqlDataAdapter(command); // DataTable dt = new DataTable(); // da.Fill(dt); // foreach (DataRow dr in dt.Rows) // { // } // } // catch (Exception ex) // { // messaggio = ex.Message; // } // } // return lista; //} public static List <Pacco> OttieniListaPacchiOrdinata(string connectionString, string type, bool vedidata) { List <Viaggio> listaViaggi = OttieniListaViaggi(connectionString); List <Cliente> listaClienti = OttieniListaClienti(connectionString); List <Pacco> lista = new List <Pacco>(); string queryString = "SELECT * FROM pacco INNER JOIN cliente ON cliente.idCliente=pacco.idDestinatario "; if (type.Equals("Cliente")) { queryString += "ORDER BY cliente.nome,cliente.cognome"; } else if (type.Equals("Consegna")) { if (vedidata) { queryString += "INNER"; } else { queryString += "LEFT"; } queryString += " JOIN viaggio ON viaggio.idViaggio = pacco.idViaggio ORDER BY viaggio.data,cliente.cognome"; } else if (type.Equals("Volume")) { queryString += "ORDER BY pacco.volume"; } queryString += ";"; string messaggio = ""; using (MySqlConnection connection = new MySqlConnection(connectionString)) { MySqlCommand command = new MySqlCommand(queryString, connection); try { connection.Open(); MySqlDataAdapter da = new MySqlDataAdapter(command); DataTable dt = new DataTable(); da.Fill(dt); foreach (DataRow dr in dt.Rows) { Pacco p = new Pacco((int)dr["idPacco"], listaViaggi.Find(x => x.IdViaggio == (int)dr["idViaggio"]), listaClienti.Find(x => x.IdCliente == (int)dr["idMittente"]), listaClienti.Find(x => x.IdCliente == (int)dr["idDestinatario"]), (int)dr["Volume"]); lista.Add(p); } } catch (Exception ex) { Console.WriteLine(ex.Message); } } return(lista); }