public async Task <List <Postagem> > ObterLinhaDoTempo(int idUsuarioLogado) { using (var con = new SqlConnection(_configuration["ConnectionString"])) { var SqlCmd = @$ "SELECT P.Id, P.Texto, P.DataPostagem, P.FotoPost, P.UsuarioId, U.Nome, U.FotoPerfil FROM Postagem P INNER JOIN Amigos A ON A.IdSeguido = P.UsuarioId INNER JOIN Usuario U ON U.Id = A.IdSeguido WHERE A.IdSeguidor = '{idUsuarioLogado}'" ; using (var cmd = new SqlCommand(SqlCmd, con)) { cmd.CommandType = CommandType.Text; con.Open(); var reader = await cmd .ExecuteReaderAsync() .ConfigureAwait(false); List <Postagem> listaPostagensDosAmigos = new List <Postagem>(); while (reader.Read()) { var postagem = new Postagem(reader["Texto"].ToString(), reader["FotoPost"].ToString(), int.Parse(reader["UsuarioId"].ToString()), DateTime.Parse(reader["DataPostagem"].ToString())); postagem.SetId(int.Parse(reader["Id"].ToString())); listaPostagensDosAmigos.Add(postagem); } return(listaPostagensDosAmigos); } } }
public async Task <Postagem> InserirPostagem(PostagemInput input) { var usuarioId = _logado.ObterUsuarioLogado(); var postagem = new Postagem(input.Texto, input.FotoPost, usuarioId); if (!postagem.EhValido()) { throw new ArgumentException("Você não pode inserir uma postagem vazia"); } int id = await _postagemRepository .InserirPostagem(postagem) .ConfigureAwait(false); postagem.SetId(id); return(postagem); }
public async Task <List <Postagem> > ObterPerfil(int usuarioId) { using (var con = new SqlConnection(_configuration["ConnectionString"])) { var sqlCmd = @$ "SELECT Id, Texto, DataPostagem, FotoPost, UsuarioId FROM Postagem WHERE UsuarioId= '{usuarioId}'" ; using (var cmd = new SqlCommand(sqlCmd, con)) { cmd.CommandType = CommandType.Text; con.Open(); var reader = await cmd .ExecuteReaderAsync() .ConfigureAwait(false); var postagensUsuario = new List <Postagem>(); while (reader.Read()) { var postagem = new Postagem(reader["Texto"].ToString(), reader["FotoPost"].ToString(), int.Parse(reader["UsuarioId"].ToString()), DateTime.Parse(reader["DataPostagem"].ToString())); postagem.SetId(int.Parse(reader["Id"].ToString())); postagensUsuario.Add(postagem); } return(postagensUsuario); } } }