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); } }
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); }
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); }
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); }
// Implementado a Interface com o CRUD public void Create(Publicacao p) { string[] linhas = { PrepareLineCSV(p) }; File.AppendAllLines(PATH, linhas); }
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}"); }