public static List <Post> ListPostsAmigos(Usuario usuario) { List <Usuario> listAmigos = AmizadeRepository.ListAllAmigoAsUsuarios(usuario); List <Post> feed = new List <Post>(); foreach (var user in listAmigos) { feed.AddRange(PostsRepository.ListAllPostsFromUser(user)); } return(feed); }
public static List <Usuario> ListAllUsers(Usuario usuario, string pesquisa) { var connectionString = @"Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\DB.mdf"; using (var connection = new SqlConnection(connectionString)) { var commandText = "SELECT * FROM Users WHERE (Id<>@Id) AND (NomeUsuario LIKE '%" + pesquisa + "%' OR Preferencia1 LIKE '%" + pesquisa + "%' OR Preferencia2 LIKE '%" + pesquisa + "%' OR Preferencia3 LIKE '%" + pesquisa + "%')"; var selectCommand = new SqlCommand(commandText, connection);// ele é um comando mas ainda não foi executado, tem que ser executado para fazer o comando. selectCommand.Parameters.AddWithValue("@Id", usuario.Id); //selectCommand.Parameters.AddWithValue("@Pesquisa", pesquisa); var usuarios = new List <Usuario>(); try { connection.Open(); using (var reader = selectCommand.ExecuteReader(CommandBehavior.CloseConnection)) { while (reader.Read()) { var user = new Usuario(); user.Id = (int)reader["Id"]; user.Nome = reader["Nome"].ToString(); user.Sobrenome = reader["Sobrenome"].ToString(); user.DataDeNascimento = (DateTime)reader["DataDeNascimento"]; user.Sexo = reader["Sexo"].ToString(); user.Email = reader["Email"].ToString(); user.Senha = reader["Senha"].ToString(); user.NomeUsuario = reader["NomeUsuario"].ToString(); user.Preferencia1 = reader["Preferencia1"].ToString(); user.Preferencia2 = reader["Preferencia2"].ToString(); user.Preferencia3 = reader["Preferencia3"].ToString(); user.Foto = reader["Foto"].ToString(); if (AmizadeRepository.ChecarAmizadeOrigem(usuario, user.Id) == false) { usuarios.Add(user); } } } } finally { connection.Close(); } return(usuarios); } }