Exemplo n.º 1
0
 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;
 }
Exemplo n.º 2
0
 public void CreateDirectories()
 {
     FileMaster.CreateDirectory(BansPath);
     FileMaster.CreateDirectory(NicknamesAndPasswordsPath);
     FileMaster.CreateDirectory(PeopleChatsPath);
     FileMaster.CreateDirectory(PublicGroupPath);
     FileMaster.CreateDirectory(SecretGroupPath);
     FileMaster.CreateDirectory(UsersPath);
 }
Exemplo n.º 3
0
        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));
        }
Exemplo n.º 4
0
        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);
        }