//Mostrare gli agenti assegnati ad una determinata area /*public static Agente RecuperaAgente(string codiceArea, bool conAree = false) * { * //ho fatto una stored procedure * using (SqlConnection conn = new SqlConnection(_connectionString)) * using (SqlCommand cmd = new SqlCommand("RecuperaAgente", conn)) * { * * //dico che è una stored precedure * cmd.CommandType = System.Data.CommandType.StoredProcedure; * * cmd.Parameters.AddWithValue("@codiceArea", codiceArea); * * conn.Open(); * * SqlDataReader reader = cmd.ExecuteReader(); * * if (!reader.Read()) * return null; * * Agente a = new Agente((int)reader["IdAgente"], reader["CF"].ToString(), reader["Nome"].ToString(), reader["Cognome"].ToString(), (int)reader["AnniServizio"]); * * conn.Close(); * * if (conAree) * RecuperaAree(a); * * return a; * * } * }*/ //Mostrare gli agenti con anni di servizio >= a.. static public Agente ElencoAgentiAnni(int anniServizio, bool conAree = false) { using (SqlConnection conn = new SqlConnection(_connectionString)) using (SqlCommand cmd = new SqlCommand("RecuperaAgentiAnni", conn)) { cmd.CommandType = System.Data.CommandType.StoredProcedure; cmd.Parameters.AddWithValue("@anniServizio", anniServizio); conn.Open(); SqlDataReader reader = cmd.ExecuteReader(); if (!reader.Read()) { return(null); } Agente a = new Agente((int)reader["IdAgente"], reader["CF"].ToString(), reader["Nome"].ToString(), reader["Cognome"].ToString(), (int)reader["AnniServizio"]); conn.Close(); if (conAree) { RecuperaAree(a); } return(a); } }
//recupera le aree metropolitane e le aggiunge alla sua lista aree static public void RecuperaAree(Agente agente) { using (SqlConnection conn = new SqlConnection(_connectionString)) using (SqlCommand cmd = new SqlCommand("Select * from Assegnazione where IdAgente = @idAgente", conn)) { cmd.Parameters.AddWithValue("@idAgente", agente.IdAgente); conn.Open(); SqlDataReader reader = cmd.ExecuteReader(); //per farmi ritornare il valore uso un reader per leggere il record del db while (reader.Read()) { agente.Assegnazioni.Add(new Assegnazione((int)reader["IdAssegnazione"], (int)reader["IdArea"], (int)reader["IdAgente"])); } } }
static void Main(string[] args) { List <Agente> agenti = Polizia.ElencoAgenti(true); foreach (Agente x in agenti) { Console.WriteLine(x); foreach (Assegnazione y in x.Assegnazioni) { Console.WriteLine(y); } } /*string s = "GGFRF"; * Agente a = Polizia.RecuperaAgente(s, true); * if (a == null) * Console.WriteLine($"L'area {s} non è assegnata a nessun agente"); * else * Console.WriteLine($"L'agente è: {a.CF} {a.Nome} {a.Cognome} AnniServizio:{a.AnniServizio}");*/ int anniS = 2; Agente a = Polizia.ElencoAgentiAnni(anniS, true); if (a == null) { Console.WriteLine($"Nessun agente ha {anniS} di servizio"); } else { Console.WriteLine($"Gli agento sono: {a.CF} {a.Nome} {a.Cognome}"); } Polizia.InserisciAgente("DSG567HDFSH", "Debora", "Rossi", 7); }