/// <summary> /// Add a new user (email and password) /// </summary> /// <param name="Email">Email of the user</param> /// <param name="Password">Password of the user</param> /// <returns>The number of line added in the database</returns> public Task <int> AddUser(string Email, string Password) => AuthentificationManager.AddUser(Email, Password);
public override void GereClient() { try { Message inputMessage; while ((inputMessage = GetMessage()) != null) { switch (inputMessage.head) { case Header.LIST_TOPIC: List <String> topics = tcpTopicsManager.ListTopics(); Message mListTopic = new Message(Header.LIST_TOPIC, topics); SendMessage(mListTopic); break; case Header.CREATE_TOPIC: tcpTopicsManager.CreateTopic(inputMessage.data[0]); tcpTopicsManager.Save("Topics.txt"); Message mCreateTopic = new Message(Header.TOPIC_IS_CREATE); SendMessage(mCreateTopic); break; case Header.JOIN_TOPIC: String topicToJoin = inputMessage.data[0]; Message outputMessage3 = new Message(Header.JOIN_TOPIC, tcpTopicsManager.getTopicPort(topicToJoin).ToString()); SendMessage(outputMessage3); break; case Header.CONNECT: try { string pseudo = inputMessage.data[0]; if (!connectedPseudos.Contains(pseudo)) { am.Authentify(inputMessage.data[0], inputMessage.data[1]); connectedPseudos.Add(inputMessage.data[0]); Message mConnect = new Message(Header.ISCONNECTED); SendMessage(mConnect); } else { Message alreadyConnect = new Message(Header.ALREADYCONNECTED); Console.WriteLine("this user is already connected!"); } } catch (WrongPasswordException e) { Console.WriteLine(e + " : password or login is incorrect!"); Message mUnConnect = new Message(Header.ISUNCONNECTED); SendMessage(mUnConnect); } break; case Header.REGISTER: try { am.AddUser(inputMessage.data[0], inputMessage.data[1]); Message mRegister = new Message(Header.REGISTERED); SendMessage(mRegister); // persistance try { am.Save("users.txt"); } catch (IOException e) { Console.WriteLine(e); } } catch (UserExistsException e) { Console.WriteLine(e.Login + " has already been added !"); Message mErrorExist = new Message(Header.ALREADYEXIST); SendMessage(mErrorExist); } break; case Header.DISCONNECT: String chatterName = inputMessage.data[0]; connectedPseudos.Remove(chatterName); break; default: break; } } } catch (Exception e) { Console.WriteLine(e.ToString()); } }