public static List <Amizade> ListAllAmigos(Usuario usuario)
        {
            var connectionString = @"Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\DB.mdf";

            using (var connection = new SqlConnection(connectionString)) {
                var commandText   = "SELECT * FROM Amizades WHERE (IdUsuarioDestino=@IdUsuarioDestino OR IdUsuarioOrigem=@IdUsuarioDestino) AND Aceito=@Aceito";
                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("@IdUsuarioDestino", usuario.Id);
                selectCommand.Parameters.AddWithValue("@Aceito", true);
                var listAmizades = new List <Amizade>();
                try {
                    connection.Open();
                    using (var reader = selectCommand.ExecuteReader(CommandBehavior.CloseConnection)) {
                        if (reader.HasRows)
                        {
                            while (reader.Read())
                            {
                                var amizade = new Amizade();

                                amizade.IdUsuarioOrigem = (int)reader["IdUsuarioOrigem"];
                                if (amizade.IdUsuarioOrigem != usuario.Id)
                                {
                                    amizade.NomeUsuario      = UsuariosRepository.SelectUsuario(amizade.IdUsuarioOrigem).NomeUsuario;
                                    amizade.Preferencia1     = UsuariosRepository.SelectUsuario(amizade.IdUsuarioOrigem).Preferencia1;
                                    amizade.Preferencia2     = UsuariosRepository.SelectUsuario(amizade.IdUsuarioOrigem).Preferencia2;
                                    amizade.Preferencia3     = UsuariosRepository.SelectUsuario(amizade.IdUsuarioOrigem).Preferencia3;
                                    amizade.IdUsuarioDestino = (int)reader["IdUsuarioDestino"];
                                    amizade.Aceito           = (bool)reader["Aceito"];
                                    listAmizades.Add(amizade);
                                }
                                else
                                {
                                    amizade.IdUsuarioDestino = (int)reader["IdUsuarioDestino"];
                                    amizade.NomeUsuario      = UsuariosRepository.SelectUsuario(amizade.IdUsuarioDestino).NomeUsuario;
                                    amizade.Preferencia1     = UsuariosRepository.SelectUsuario(amizade.IdUsuarioDestino).Preferencia1;
                                    amizade.Preferencia2     = UsuariosRepository.SelectUsuario(amizade.IdUsuarioDestino).Preferencia2;
                                    amizade.Preferencia3     = UsuariosRepository.SelectUsuario(amizade.IdUsuarioDestino).Preferencia3;
                                    amizade.Aceito           = (bool)reader["Aceito"];
                                    listAmizades.Add(amizade);
                                }
                            }
                        }
                    }
                }
                finally {
                    connection.Close();
                }
                return(listAmizades);
            }
        }
Ejemplo n.º 2
0
        public static Post SelectPost(int id)
        {
            var connectionString = @"Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\DB.mdf";

            using (var connection = new SqlConnection(connectionString)) {
                var commandText   = "SELECT * FROM Posts WHERE IdPost=@IdPost";
                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("@IdPost", id);
                var post = new Post();
                try {
                    connection.Open();
                    using (var reader = selectCommand.ExecuteReader(CommandBehavior.CloseConnection)) {
                        if (reader.HasRows)
                        {
                            while (reader.Read())
                            {
                                post.IdPost    = (int)reader["IdPost"];
                                post.IdUsuario = (int)reader["IdUsuario"];
                                var teste = reader["IdPostOrigem"].ToString();
                                if (teste != "")
                                {
                                    post.IdPostOrigem = (int)reader["IdPostOrigem"];
                                }
                                post.TextoPub        = reader["TextoPub"].ToString();
                                post.ImagemPost      = reader["ImagemPost"].ToString();
                                post.NumCurtidasPost = (int)reader["NumCurtidasPost"];
                                post.DataPost        = (DateTime)reader["DataPost"];
                                post.NomeUsuario     = UsuariosRepository.SelectUsuario(post.IdUsuario).NomeUsuario;
                                post.Comentario      = new List <Comentario>();
                                foreach (var item in ComentariosRepository.ListAllComents())
                                {
                                    if (item.IdPost == post.IdPost)
                                    {
                                        post.Comentario.Add(item);
                                    }
                                }
                                return(post);
                            }
                        }
                    }
                }
                finally {
                    connection.Close();
                }
                return(post);
            }
        }