Esempio n. 1
0
        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);
        }
Esempio n. 3
0
        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);
                }
            }
        }