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); }
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; }