/// <summary> /// Método que irá adicionar um novo Utilizador à Base de Dados /// </summary> /// <param name="jsonString">String em formato JSON que contém a informação do Utilizador a ser adicionado</param> /// <returns> /// true - Registo efetuado com sucesso /// false - Já existe um Utilizador com o E-Mail introduzido /// </returns> public bool Registo(string jsonString) { int numeroLinhas; string query; Utilizador userDeserialized = JsonConvert.DeserializeObject <Utilizador>(jsonString); //Retorna todos os utilizadores que contenham o E-Mail introduzido dt = db.ReturnUsersEmail(userDeserialized.email); //Caso já exista alguém com o E-Mail introduzido, retorna false if (dt.Rows.Count > 0) { return(false); } //Caso contrário else { query = "select * from Utilizador;"; //Retorna todos os utilizadores para fazer a atribuição do ID dt = db.ExecuteReturnQuery(query); int numeroID = dt.Rows.Count + 1; userDeserialized.id = numeroID; //Executa a inserção do novo utilizador na Base de Dados e retorna true numeroLinhas = db.ExecuteInsertUser(userDeserialized); return(true); } }
/// <summary> /// Insere um novo utilizador na base de dados /// </summary> /// <param name="currentUser"></param> /// <returns></returns> public int ExecuteInsertUser(Utilizador currentUser) { string query = "INSERT INTO Utilizador(ID, Nome, Cidade, Id_Cidade, Email, Password) VALUES (@id, @nome, @cidade, @idCidade, @email, @password);"; using (NpgsqlConnection connection = new NpgsqlConnection(connectionString)) { connection.Open(); using (var command = new NpgsqlCommand(query, connection)) { command.Parameters.AddWithValue("@id", currentUser.id); command.Parameters.AddWithValue("@nome", currentUser.nome); command.Parameters.AddWithValue("@cidade", currentUser.cidade); command.Parameters.AddWithValue("@idCidade", currentUser.id_cidade); command.Parameters.AddWithValue("@email", currentUser.email); command.Parameters.AddWithValue("@password", currentUser.password); return(command.ExecuteNonQuery()); } } }