Exemplo n.º 1
0
        public void ExcluirComentario(int idComentario, string idUsuario)
        {
            List <string> comments = ReadAllLinesCSV(PATH);

            var comment = comments.Find(x => x.Split(";")[0] == idComentario.ToString());

            string[] atributo = comment.Split(";");

            Publicacao    publicacaoModel = new Publicacao();
            List <string> posts           = publicacaoModel.ReadAllLinesCSV(publicacaoModel._PATH);

            //Traz a linha do post que tem esses 2 itens iguais
            var pub = posts.Find(x => x.Split(";")[0] == atributo[3]);

            System.Console.WriteLine(pub);
            string[] atributoPost = pub.Split(";");

            if (idUsuario == atributoPost[3] && atributo[3] == atributoPost[0])
            {
                Delete(idComentario);
            }
            else if (idUsuario == atributo[2])
            {
                Delete(idComentario);
            }
        }
Exemplo n.º 2
0
        public void Update(Publicacao p)
        {
            //Lemos todas as linhas do CSV
            List <string> linhas = ReadAllLinesCSV(PATH);

            //Removemos as linhas com o código comparado
            // Nesse caso o usuário só consegue alterar a sua publicação e não os comentarios/likes;
            linhas.RemoveAll(x => x.Split(";")[0] == p.IdPublicacao.ToString());

            //Adicionamos a lista alterada
            linhas.Add(PrepareLineCSV(p));

            //Reescrevemos o csv com a lista alterada
            RewriteCSV(PATH, linhas);
        }
Exemplo n.º 3
0
        public void Curtir(int id)
        {
            List <string> posts = ReadAllLinesCSV(PATH);

            var pub = posts.Find(x => x.Split(";")[0] == id.ToString());

            System.Console.WriteLine(pub);

            string[] linha = pub.Split(";");

            Publicacao publicacao = new Publicacao();

            publicacao.IdPublicacao = id;
            publicacao.Imagem       = linha[1];
            publicacao.Legenda      = linha[2];
            publicacao.IdUsuario    = int.Parse(linha[3]);
            publicacao.Likes        = int.Parse(linha[4]) + 1;
            publicacao.FotoUsuario  = linha[5];
            publicacao.Username     = linha[6];

            Update(publicacao);
        }
Exemplo n.º 4
0
        public List <Publicacao> ReadAll()
        {
            List <Publicacao> publicacoes = new List <Publicacao>();

            string[] linhas = File.ReadAllLines(PATH);

            foreach (string item in linhas)
            {
                string[] linha = item.Split(";");

                Publicacao novaPublicacao = new Publicacao();
                novaPublicacao.IdPublicacao = int.Parse(linha[0]);
                novaPublicacao.Imagem       = linha[1];
                novaPublicacao.Legenda      = linha[2];
                novaPublicacao.IdUsuario    = int.Parse(linha[3]);
                novaPublicacao.Likes        = int.Parse(linha[4]);
                novaPublicacao.FotoUsuario  = linha[5];
                novaPublicacao.Username     = linha[6];

                publicacoes.Add(novaPublicacao);
            }

            return(publicacoes);
        }
Exemplo n.º 5
0
        // Implementado a Interface com o CRUD

        public void Create(Publicacao p)
        {
            string[] linhas = { PrepareLineCSV(p) };

            File.AppendAllLines(PATH, linhas);
        }
Exemplo n.º 6
0
 public string PrepareLineCSV(Publicacao p)
 {
     //Transforma o objeto Publicação em uma linha de arquivo CSV
     return($"{p.IdPublicacao};{p.Imagem};{p.Legenda};{p.IdUsuario};{p.Likes};{p.FotoUsuario};{p.Username}");
 }