示例#1
0
 //this function save the users dictionary to file
 private void saveUsers()
 {
     using (FileStream fs = new FileStream("users.txt", FileMode.Create))
     {
         using (BinaryWriter bw = new BinaryWriter(fs))
         {
             foreach (string user in this.forum.users.Keys)
             {
                 RegisteredUser userToWrite = this.forum.users[user];
                 bw.Write(userToWrite.FirstName);
                 bw.Write(userToWrite.LastName);
                 bw.Write(userToWrite.Email);
                 bw.Write(userToWrite.Password);
                 bw.Write(userToWrite.UserName);
                 bw.Write(userToWrite.CanDeleteMsg);
                 bw.Write(userToWrite.CanDeleteTopic);
                 bw.Write(userToWrite.CanBanUser);
                 bw.Write(userToWrite.NotificationList.Count.ToString());
                 foreach (string noti in userToWrite.NotificationList)
                 {
                     bw.Write(noti);
                 }
                 bw.Write(userToWrite.SubForumsList.Count.ToString());
                 foreach (string subF in userToWrite.SubForumsList)
                 {
                     bw.Write(subF);
                 }
             }
         }
     }
 }
示例#2
0
 private void addUserToFile(RegisteredUser user)
 {
     using (FileStream fs = new FileStream("users.txt", FileMode.Append))
     {
         using (BinaryWriter bw = new BinaryWriter(fs))
         {
             bw.Write(user.FirstName);
             bw.Write(user.LastName);
             bw.Write(user.Email);
             bw.Write(user.Password);
             bw.Write(user.UserName);
             bw.Write(user.CanDeleteMsg);
             bw.Write(user.CanDeleteTopic);
             bw.Write(user.CanBanUser);
             bw.Write(user.NotificationList.Count.ToString());
             foreach (string noti in user.NotificationList)
             {
                 bw.Write(noti);
             }
             bw.Write(user.SubForumsList.Count.ToString());
             foreach (string subF in user.SubForumsList)
             {
                 bw.Write(subF);
             }
         }
     }
 }
示例#3
0
 public Topic(string subject, string content, RegisteredUser user)
 {
     messages             = new List <Message>();
     this.content         = content;
     this.subject         = subject;
     openedBy             = user;
     userFirstOpenMsgName = openedBy.UserName;
 }
示例#4
0
 //load users that are regitred to the forum
 private void loadUsers()
 {
     if (!File.Exists("users.txt"))
     {
         return;
     }
     using (FileStream fs = new FileStream("users.txt", FileMode.Open))
     {
         using (BinaryReader sr = new BinaryReader(fs))
         {
             while (sr.BaseStream.Position != sr.BaseStream.Length)
             {
                 string        firstName         = sr.ReadString();
                 string        lastName          = sr.ReadString();
                 string        email             = sr.ReadString();
                 string        password          = sr.ReadString();
                 string        userName          = sr.ReadString();
                 bool          canDeleteMsg      = sr.ReadBoolean();
                 bool          canDeleteTopic    = sr.ReadBoolean();
                 bool          canBanUser        = sr.ReadBoolean();
                 List <string> notification      = new List <string>();
                 int           numOfNotification = Int32.Parse(sr.ReadString());
                 for (int i = 0; i < numOfNotification; i++)
                 {
                     notification.Add(sr.ReadString());
                 }
                 List <string> subForumList  = new List <string>();
                 int           numOfSubForum = Int32.Parse(sr.ReadString());
                 for (int i = 0; i < numOfSubForum; i++)
                 {
                     subForumList.Add(sr.ReadString());
                 }
                 RegisteredUser user = new RegisteredUser(firstName, lastName, email, password, userName, canDeleteMsg, canDeleteTopic, canBanUser, notification, subForumList);
                 this.forum.users.Add(user.UserName, user);
             }
         }
     }
 }
示例#5
0
 //add this forum to sub forum list in the user
 internal void follow(RegisteredUser user, string forumName)
 {
     //add the forum to the sub list of the user
     user.SubForumsList.Add(forumName);
 }