Exemplo n.º 1
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.º 2
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];

                publicacoes.Add(novaPublicacao);
            }

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

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

            File.AppendAllLines(PATH, linhas);
        }
Exemplo n.º 4
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}");
 }