Beispiel #1
0
        /// <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");
            }
        }
Beispiel #2
0
        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);
        }