/// <summary> /// load the data of the users out. /// </summary> private void LoadUsersData() { try { usersRoot = XElement.Load(Configuration.FILE_USERS); foreach (var item in usersRoot.Elements()) { User.RoleTypes role = (User.RoleTypes)Enum.Parse(typeof(User.RoleTypes), item.Element("role").Value); var obj = item.Element("ConnectTo").Value; object newConnectTo = null; switch (role) { case User.RoleTypes.Trainee: newConnectTo = GetTraineeById(int.Parse(obj)); break; case User.RoleTypes.Tester: newConnectTo = GetTesterByID(int.Parse(obj)); break; case User.RoleTypes.Admin: case User.RoleTypes.School: case User.RoleTypes.Teacher: newConnectTo = obj; break; } DataSource.users.Add(new User(role, newConnectTo, item.Element("username").Value, item.Element("password").Value, item.Element("email").Value)); } } catch { throw new Exception("File upload problem"); } }
public bool CreateUser(string username, string password, User.RoleTypes roleTypes, object obj, string email) { string hashPassword = User.GetSha512FromString(password); User user = new User(roleTypes, obj, username, hashPassword, email); if (DataSource.users.Any(_user => _user.Username == username)) { return(false); } DataSource.users.Add(user); XElement usernameElement = new XElement("username", user.Username); XElement passswordElement = new XElement("password", user.Password); XElement roleElement = new XElement("role", user.role); XElement emailElement = new XElement("email", user.EmailAddress); XElement objElement = null; switch (user.role) { case User.RoleTypes.Trainee: objElement = new XElement("ConnectTo", (user.ConnectTo as Trainee).Id); break; case User.RoleTypes.Teacher: case User.RoleTypes.School: objElement = new XElement("ConnectTo", user.ConnectTo.ToString()); break; case User.RoleTypes.Tester: objElement = new XElement("ConnectTo", (user.ConnectTo as Tester).Id); break; case User.RoleTypes.Admin: objElement = new XElement("ConnectTo", null); break; } usersRoot.Add(new XElement("user", usernameElement, passswordElement, roleElement, objElement, emailElement)); usersRoot.Save(Configuration.FILE_USERS); MailSender.MailSender.sendMail(email, username, "Welcome to our cool system!", $"Hello {username}\nYou registerd to our system! Welcome!" + $"\nYou password is: {password}" + $"\nYour role is: {roleTypes}" + $"\nHere for you" + $"\nEitan and Ariel"); return(true); }