private async Task<bool> AddNewUser(IEnumerable<string> userData) { var IPs = new List<string>(); IPs.Add(IP); UserNicknameAndPasswordAndIPs userNicknameAndPassword = new UserNicknameAndPasswordAndIPs(userData.First(), userData.Last(), IPs); var result = await FileMaster.UpdateFile<UserNicknameAndPasswordAndIPs>(FilePath, oldData => { if (oldData == null) { oldData = new List<UserNicknameAndPasswordAndIPs>(); } else { if (!LastCheck(oldData, userNicknameAndPassword.Nickname)) { return (oldData, false); } } oldData.Add(userNicknameAndPassword); return (oldData, true); }); if (result) { await communication.SendMessage("You enter to messenger"); FileMaster.CreateDirectory(Path.Combine(messenger.Server.UsersPath, userNicknameAndPassword.Nickname)); nickname = userNicknameAndPassword.Nickname; } else { await communication.SendMessage("This nickname is currently in use, bye"); } return result; }
public void CreateDirectories() { FileMaster.CreateDirectory(BansPath); FileMaster.CreateDirectory(NicknamesAndPasswordsPath); FileMaster.CreateDirectory(PeopleChatsPath); FileMaster.CreateDirectory(PublicGroupPath); FileMaster.CreateDirectory(SecretGroupPath); FileMaster.CreateDirectory(UsersPath); }
private async Task <GroupInformation> CreateChat(string namePerson, string typeGroup) { var nameChat = $"{namePerson} {user.Nickname}"; PersonChat personChat = new PersonChat(new string[] { namePerson, user.Nickname }, nameChat); WriteNewPerson(Path.Combine(messenger.Server.UsersPath, user.Nickname, "peopleChatsBeen.json"), personChat); WriteNewPerson(Path.Combine(messenger.Server.UsersPath, namePerson, "peopleChatsBeen.json"), personChat); var path = Path.Combine(messenger.Server.PeopleChatsPath, nameChat); FileMaster.CreateDirectory(path); await AddData(Path.Combine(path, "users.json"), user.Nickname); await AddData(Path.Combine(path, "users.json"), namePerson); return(new GroupInformation(true, typeGroup, nameChat, path)); }
private async Task <string> AddGroup(string nameGroup, string typeGroup, List <string> invitedPeople) { string pathGroup; switch (typeGroup) { case "pg": pathGroup = Path.Combine(messenger.Server.PublicGroupPath, nameGroup); break; default: //(sg) pathGroup = Path.Combine(messenger.Server.SecretGroupPath, nameGroup); break; } FileMaster.CreateDirectory(pathGroup); await FileMaster.UpdateFile(Path.Combine(pathGroup, "users.json"), FileMaster.AddData(user.Nickname)); await FileMaster.UpdateFile(Path.Combine(pathGroup, "invitation.json"), FileMaster.AddSomeData(invitedPeople)); return(pathGroup); }