// // Aceitar um pedido de amizade // public static bool AceitarPedido(string username1, string username2, int forca, string tag) { Ligacao ligacao = AddLigacao(username1, username2, tag, forca); if (ligacao != null) { ligacao.Estado = 1; ligacao.Save(); var x = new IA_AR.Utils(); ligacao = Ligacao.LoadByUserNames(username2, username1); if (ligacao != null) { ligacao.Estado = 1; ligacao.Save(); x.insertLig(username1.ToLower(), username2.ToLower(), forca); x.insertLig(username2.ToLower(), username1.ToLower(), ligacao.ForcaDeLigacao); return(true); } return(false); } return(false); }
public static IList <User> LoadAllPedidosUser(string username) { DataSet ds = ExecuteQuery(GetConnection(false), "SELECT * FROM Ligacao WHERE UserId ='" + LoadByUserName(username).UniqueIdentifierUserId + "' AND ELIMINADO ='" + 0 + "' AND ESTADO ='" + 0 + "'"); IList <Ligacao> lista = new List <Ligacao>(); Ligacao ligacao = null; int idLigacao = -1; foreach (DataRow row in ds.Tables[0].Rows) { ligacao = new Ligacao(row); lista.Add(ligacao); idLigacao = (int)row["ID_LIG"]; } IList <User> pedidos = new List <User>(); foreach (Ligacao lig in lista) { if (lig.Estado == 0 && lig.ForcaDeLigacao == -1) { pedidos.Add(User.LoadByUserLigadoId(lig.IdUserLigado)); } } return(pedidos); }
// // Mudar Forca de uma Relação // public static bool MudarTagRelacao(string username1, string username2, int forca) { Ligacao ligacao = Ligacao.LoadByUserNames(username1, username2); if (ligacao != null && forca < 6 && forca > 0) { ligacao.ForcaDeLigacao = forca; return(true); } return(false); }
// // Mudar Tag de uma Relação // public static bool MudarTagRelacao(string username1, string username2, string tagS) { Ligacao ligacao = Ligacao.LoadByUserNames(username1, username2); if (ligacao != null) { Tag tag = Tag.LoadTagByNome(tagS); if (tag != null) { ligacao.IdTagRelacao = tag.ID; return(true); } } return(false); }
// // Rejeitar um pedido de amizade // public static bool RejeitarPedido(string username1, string username2) { Ligacao ligacao = AddLigacao(username1, username2, "", -1); if (ligacao != null) { ligacao.Estado = -1; ligacao.Save(); ligacao = Ligacao.LoadByUserNames(username2, username1); if (ligacao != null) { ligacao.Estado = -1; ligacao.Save(); return(true); } return(false); } return(false); }
// Load de todas as entradas na Tabela Ligacao // // Retorna uma IList com elementos ou vazia, se não existir nenhuma Ligacao public static IList <Ligacao> LoadAll() { DataSet ds = ExecuteQuery(GetConnection(false), "SELECT * FROM Ligacao ELIMINADO ='" + 0 + "'"); IList <Ligacao> lista = new List <Ligacao>(); Ligacao ligacao = null; int idLigacao = -1; foreach (DataRow row in ds.Tables[0].Rows) { if ((int)row["ID_LIG"] != idLigacao) { ligacao = new Ligacao(row); lista.Add(ligacao); idLigacao = (int)row["ID_LIG"]; } } return(lista); }
// // // Pedidos de amizade ( Ligações estado = 0 ) por username // public static bool PedidoAmizade(string username1, string username2, int forca, string tag) { Ligacao ligacao = AddLigacao(username1, username2, tag, forca); if (ligacao != null) { ligacao.Estado = 0; ligacao.Save(); ligacao = AddLigacao(username2, username1, "", -1); if (ligacao != null) { ligacao.Estado = 0; ligacao.Save(); return(true); } return(false); } return(false); }
// Load de ligações de um User dono por Username public static IList <Ligacao> LoadAllByUserName(string username) { DataSet ds = ExecuteQuery(GetConnection(false), "SELECT * FROM Ligacao WHERE UserId ='" + User.LoadByUserName(username).UniqueIdentifierUserId + "' AND ELIMINADO ='" + 0 + "'"); IList <Ligacao> lista = new List <Ligacao>(); Ligacao ligacao = null; int idLigacao = -1; foreach (DataRow row in ds.Tables[0].Rows) { if ((int)row["ID_LIG"] != idLigacao) { ligacao = new Ligacao(row); lista.Add(ligacao); idLigacao = (int)row["ID_LIG"]; } } return(lista); }
// Metodos // // // Adicionar ligação através de dois Usernames e um nome de Tag public static Ligacao AddLigacao(string username1, string username2, string tagS, int forca) { Ligacao ligacao = Ligacao.LoadByUserNames(username1, username2); Tag tag = Tag.LoadTagRelacaoByNome(tagS); if (ligacao == null) { if (tag != null) { ligacao = new Ligacao(User.LoadByUserName(username1).UniqueIdentifierUserId, User.LoadByUserName(username2).IdUserLigado, forca, tag.ID); } else { ligacao = new Ligacao(User.LoadByUserName(username1).UniqueIdentifierUserId, User.LoadByUserName(username2).IdUserLigado, forca, -1); } } else { if (tag == null) { ligacao.IdTagRelacao = -1; } else { ligacao.IdTagRelacao = tag.ID; } ligacao.ForcaDeLigacao = forca; } return(ligacao); }
// Delete // // // Se retirarmos um user temos que remover primeiro a UserLigado e depois das tabelas do Membership // // Para remover do Membership existe um método próprio, por isso não temos que eliminar aqui // Membership.DeleteUser // public bool Delete() { SqlCommand sql = new SqlCommand(); if (IdUserLigado != -1) { BeginTransaction(); sql.CommandText = "UPDATE FROM UserLigado SET ELIMINADO=@ELIMINADO WHERE ID_ULIG=@ID_ULIG"; sql.Transaction = CurrentTransaction; IDataParameter param = sql.Parameters.Add("@ID_ULIG", SqlDbType.Int); param.Value = IdUserLigado; param = sql.Parameters.Add("@ELIMINADO", SqlDbType.Int); param.Value = 1; Eliminado = true; int rowsAfectadas = ExecuteTransactedNonQuery(sql); // Através do rowsAfectadas conseguiremos saber se foi gravado ou não if (rowsAfectadas == 0) { CommitTransaction(); return(false); } // Para remover um User temos que remover as ligações do mesmo e em que ele está presente // Ligações em que ele é User dono IList <Ligacao> lista = Ligacao.LoadAllByUserId(UniqueIdentifierUserId); bool delete = false; foreach (Ligacao ligacao in lista) { delete = ligacao.Delete(); if (!delete) { return(false); } } // Ligações em que ele é o UserLigado lista = Ligacao.LoadAllByUserLigadoId(IdUserLigado); delete = false; foreach (Ligacao ligacao in lista) { delete = ligacao.Delete(); if (!delete) { return(false); } } return(true); } return(false); }
// Load de ligações de um User dono por Username public static IList<Ligacao> LoadAllByUserName(string username) { DataSet ds = ExecuteQuery(GetConnection(false), "SELECT * FROM Ligacao WHERE UserId ='" +User.LoadByUserName(username).UniqueIdentifierUserId + "' AND ELIMINADO ='" + 0 + "'"); IList<Ligacao> lista = new List<Ligacao>(); Ligacao ligacao = null; int idLigacao = -1; foreach (DataRow row in ds.Tables[0].Rows) { if ((int)row["ID_LIG"] != idLigacao) { ligacao = new Ligacao(row); lista.Add(ligacao); idLigacao = (int)row["ID_LIG"]; } } return lista; }
// // // Load de ligações de um User Ligado por IdUserLigado public static IList<Ligacao> LoadAllByUserLigadoId(int IdUserLigado) { DataSet ds = ExecuteQuery(GetConnection(false), "SELECT * FROM Ligacao WHERE ID_ULIG ='" + IdUserLigado + "' AND ELIMINADO ='" + 0 + "'"); IList<Ligacao> lista = new List<Ligacao>(); Ligacao ligacao = null; int idLigacao = -1; foreach (DataRow row in ds.Tables[0].Rows) { if ((int)row["ID_LIG"] != idLigacao) { ligacao = new Ligacao(row); lista.Add(ligacao); idLigacao = (int)row["ID_LIG"]; } } return lista; }
// Metodos // // // Adicionar ligação através de dois Usernames e um nome de Tag public static Ligacao AddLigacao(string username1, string username2, string tagS, int forca) { Ligacao ligacao = Ligacao.LoadByUserNames(username1,username2); Tag tag = Tag.LoadTagRelacaoByNome(tagS); if(ligacao == null){ if(tag != null) ligacao = new Ligacao(User.LoadByUserName(username1).UniqueIdentifierUserId, User.LoadByUserName(username2).IdUserLigado, forca, tag.ID); else { ligacao = new Ligacao(User.LoadByUserName(username1).UniqueIdentifierUserId, User.LoadByUserName(username2).IdUserLigado, forca, -1); } } else{ if(tag == null){ ligacao.IdTagRelacao = -1; } else{ ligacao.IdTagRelacao = tag.ID; } ligacao.ForcaDeLigacao = forca; } return ligacao; }
public static IList<User> LoadAllPedidosUser(string username) { DataSet ds = ExecuteQuery(GetConnection(false), "SELECT * FROM Ligacao WHERE UserId ='" + LoadByUserName(username).UniqueIdentifierUserId + "' AND ELIMINADO ='" + 0 + "' AND ESTADO ='" + 0 + "'"); IList<Ligacao> lista = new List<Ligacao>(); Ligacao ligacao = null; int idLigacao = -1; foreach (DataRow row in ds.Tables[0].Rows) { ligacao = new Ligacao(row); lista.Add(ligacao); idLigacao = (int)row["ID_LIG"]; } IList<User> pedidos = new List<User>(); foreach (Ligacao lig in lista) { if(lig.Estado==0 && lig.ForcaDeLigacao==-1) pedidos.Add(User.LoadByUserLigadoId(lig.IdUserLigado)); } return pedidos; }