public Militante[] ListarMilitantes(FiltroListarMilitante filtro) { if (filtro == null) { throw new FaultException("Filtro requerido", new FaultCode(Constantes.ERROR_FILTRO_LISTAR_MILITANTE_REQUERIDO)); } /*if (filtro.IdCargo == null) * { * throw new FaultException("Filtro requerido", new FaultCode(Constantes.ERROR_FILTRO_LISTAR_MILITANTE_REQUERIDO)); * } * */ return(militanteDao.ListarMilitantes(filtro)); }
public Militante[] ListarMilitantes(FiltroListarMilitante filtro) { string sql = "select id_militante, nombres, apellidos, correo, id_cargo, nro_doc_identidad from militante"; if (filtro != null) { sql += " where "; if (filtro.IdCargo != null) { sql += " id_cargo = @id_cargo"; } else { sql += " id_cargo is null"; } } using (SqlConnection conn = ConnectionFactory.getConnection()) { conn.Open(); using (SqlCommand command = new SqlCommand(sql, conn)) { if (filtro != null) { if (filtro.IdCargo != null) { command.Parameters.AddWithValue("@id_cargo", filtro.IdCargo); } } IList <Militante> militantes = new List <Militante>(); using (SqlDataReader reader = command.ExecuteReader()) { while (reader.Read()) { militantes.Add(LeerMilitante(reader)); } return(militantes.ToArray()); } } } }