Ejemplo n.º 1
0
        public void Load()
        {
            RegisteredUsers.Clear();
            TaskGroups.Clear();
            var defGroup = CreateTaskGroup(0);

            defGroup.Name = "未分组";
            if (File.Exists(DataFile))
            {
                XmlDocument doc = new XmlDocument();
                doc.Load(DataFile);
                XmlElement nodeUsers = doc.DocumentElement.GetElementsByTagName("Users")[0] as XmlElement;
                foreach (XmlElement elm in nodeUsers.ChildNodes)
                {
                    RegisteredUserInfo user = new RegisteredUserInfo(elm);
                    RegisteredUsers[user.AccountID] = user;
                    var group = CreateTaskGroup(user.TaskGroupID);
                    if (group == null)
                    {
                        group = defGroup;
                    }
                    var suser = new ServerLoginUserInfo(user, LoginStatus.离线, null);
                    group.AddUser(suser.LoginInfo);
                }
                XmlElement nodeGrps = doc.DocumentElement.GetElementsByTagName("Groups")[0] as XmlElement;
                foreach (XmlElement elm in nodeGrps.ChildNodes)
                {
                    int groupId = int.Parse(elm.GetAttribute("ID"));
                    var grp     = CreateTaskGroup(groupId);
                    if (grp != null)
                    {
                        grp.Name = elm.GetAttribute("Name");
                    }
                }
            }
        }