public static SortedList <string, Utente> readClienti() { SortedList <string, Utente> listClienti = new SortedList <string, Utente>(); try { if (conn == null) { initDBConnection(); } string queryString = "SELECT clienti.idcliente,clienti.nome,clienti.cognome,clienti.sesso," + "clienti.codiceFiscale,clienti.dataNascita,clienti.luogoNascita,clienti.email," + "clienti.telefono,clienti.indirizzo,province.abbr,province.nome,province.regione," + "clienti.stato,clienti.scadAbb,clienti.scadVisita,clienti.stato_cliente" + " FROM clienti inner join province on province.abbr = clienti.provincia"; cmd = new MySqlCommand(queryString, conn); rdr = cmd.ExecuteReader(); while (rdr.Read()) { Utente user = new Utente(); user.Identifier = rdr.GetString(0); user.Nome = rdr.GetString(1); user.Cognome = rdr.GetString(2); user.Sesso = rdr.GetString(3); user.CodiceFiscale = rdr.GetString(4); user.DataDiNascita = rdr.GetDateTime(5); user.LuogoNascita = rdr.GetString(6); user.Email = rdr.GetString(7); user.Telefono = rdr.GetString(8); user.Indirizzo = rdr.GetString(9); user.Provincia = new Provincia(rdr.GetString(10), rdr.GetString(11), rdr.GetString(12)); user.Stato = rdr.GetString(13); user.ScadenzaAbb = rdr.GetDateTime(14); user.ScadenzaVisitaMedica = rdr.GetDateTime(15); try { user.Status = Convert.ToInt32(rdr.GetString(16).ToString()); } catch (Exception ex) { if (Convert.ToBoolean(rdr["stato_cliente"].ToString())) { user.Status = 1; } else { user.Status = 0; } } listClienti.Add(user.Identifier, user); } if (rdr != null) { rdr.Close(); } foreach (string id in listClienti.Keys) { try { queryString = "SELECT presenze.dataingresso,presenze.oraIn,presenze.oraOut,presenze.idpresenze" + " FROM presenze INNER JOIN clienti on clienti.idcliente = presenze.idutente" + " WHERE idcliente = " + id; cmd = new MySqlCommand(queryString, conn); rdr = cmd.ExecuteReader(); while (rdr.Read()) { Utente user = listClienti[id]; Presenza pres = new Presenza(); pres.Data = rdr.GetDateTime(0); pres.OraIngresso = rdr.GetTimeSpan(1); pres.OraUscita = rdr.GetTimeSpan(2); pres.IdPresenza = rdr.GetInt32(3); user.ListPresenze.Add(pres.Data, pres); } } catch (Exception ex) { Helper.Logger("class=DBHelper readClienti.readPresenze ->" + ex.Message); } finally { if (rdr != null) { rdr.Close(); } } } } catch (Exception ex) { Helper.Logger("class=DBHelper readClienti ->" + ex.Message); } finally { if (rdr != null) { rdr.Close(); } } return(listClienti); }