Exemplo n.º 1
0
        public cUser GetUserByName(String FirstName, String Lastname)
        {
            var users = Users;

            cUser result = (from usr in users
                            where usr.FirstName == FirstName && usr.LastName == Lastname
                            select usr).FirstOrDefault();

            return(result);
        }
Exemplo n.º 2
0
        public void AddUser(cUser newUser)
        {
            var users = Users;

            if ((from usr in users where usr.Login == newUser.Login select usr.Id).ToList().Count > 0)
            {
                throw new IOException("Login already exists in xml file");
            }


            List <int> IDs = (from u in users
                              select Convert.ToInt32(u.Id)).ToList(); // generate new ID
            int newId;

            if (IDs.Count == 0)
            {
                newId = 1;
            }
            else
            {
                newId      = IDs.Max();
                newUser.Id = newId + 1;
            }
            XmlDocument doc = new XmlDocument();

            UsersStreamProvider.StreamSnapshot.Position = 0;
            doc.Load(UsersStreamProvider.StreamSnapshot);
            XmlNode      root           = doc.DocumentElement;
            XmlElement   newUserElement = doc.CreateElement("User");
            XmlAttribute idAttr         = doc.CreateAttribute("id");

            idAttr.Value = $"{newUser.Id}";
            newUserElement.Attributes.Append(idAttr);

            XmlElement newUserLoginElement = doc.CreateElement("Login");

            newUserLoginElement.InnerText = $"{newUser.Login}";
            newUserElement.AppendChild(newUserLoginElement);

            XmlElement newUserFNameElement = doc.CreateElement("FirstName");

            newUserFNameElement.InnerText = $"{newUser.FirstName}";
            newUserElement.AppendChild(newUserFNameElement);

            XmlElement newUserLNameElement = doc.CreateElement("LastName");

            newUserLNameElement.InnerText = $"{newUser.LastName}";
            newUserElement.AppendChild(newUserLNameElement);


            XmlElement newUserPasswordElement = doc.CreateElement("Password");

            newUserPasswordElement.InnerText = $"{newUser.PasswordPublic}";
            newUserElement.AppendChild(newUserPasswordElement);

            root.AppendChild(newUserElement);
            UsersStreamProvider.StreamSnapshot.Position = 0;
            doc.Save(UsersStreamProvider.StreamSnapshot);

            Users = GetUsersFromSnapshot().Users;
        }