Exemple #1
0
        public static string GenderString(this char gender)
        {
            Debug.Assert(OGender.CheckGender(gender), string.Format("Not valid gender: {0}", gender));
            var maleString = MultiLanguageStrings.GetString(Ressource.PersonUserControl, "sexM.Text");

            switch (gender)
            {
            case OGender.Male:
                return(maleString);

            case OGender.Female:
                return(MultiLanguageStrings.GetString(Ressource.PersonUserControl, "sexF.Text"));

            default:
                return(maleString);
            }
        }
Exemple #2
0
        /// <summary>
        /// Save selected user
        /// </summary>
        /// <param name="pUser">User to save</param>
        /// <param name="saveSecret">Option to save user password, default false</param>
        /// <returns>A struct contains, if necessary, errors occurs</returns>
        public UserErrors SaveUser(User pUser, bool saveSecret = false)
        {
            UserErrors userErrors = new UserErrors();

            if (pUser.UserName == null)
            {
                userErrors.FindError      = true;
                userErrors.LoginError     = true;
                userErrors.ResultMessage += "\n - " + MultiLanguageStrings.GetString(Ressource.StringRes, "User_Login_Empty.Text");
            }

            var passwordValidator = new Regex(@"^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9])(?=.*?[#?!@$%^&*-]).{10,}$");

            if (!passwordValidator.IsMatch(pUser.Password))
            {
                userErrors.FindError      = true;
                userErrors.PasswordError  = true;
                userErrors.ResultMessage += "\n - Password must contain " +
                                            "\n• At least one upper case " +
                                            "\n• At least one lower case " +
                                            "\n• At least one digit  " +
                                            "\n• At least one special character  " +
                                            "\n• Minimum 8 in length";
            }
            if (pUser.Password == null)
            {
                userErrors.FindError      = true;
                userErrors.PasswordError  = true;
                userErrors.ResultMessage += "\n - " + MultiLanguageStrings.GetString(Ressource.StringRes, "User_Password_Empty.Text");
            }

            if (pUser.UserRole == null)
            {
                userErrors.FindError      = true;
                userErrors.RoleError      = true;
                userErrors.ResultMessage += "\n - " + MultiLanguageStrings.GetString(Ressource.StringRes, "User_Role_Empty.Text");
            }
            if (pUser.UserRole.Id < 1)
            {
                userErrors.FindError      = true;
                userErrors.RoleError      = true;
                userErrors.ResultMessage += "\n - " + MultiLanguageStrings.GetString(Ressource.StringRes, "User_Role_Empty.Text");
            }
            if (pUser.FirstName == null)
            {
                userErrors.FindError      = true;
                userErrors.FirstNameError = true;
                userErrors.ResultMessage += "\n - " + MultiLanguageStrings.GetString(Ressource.StringRes, "User_LastName_Empty.Text");
            }

            if (pUser.LastName == null)
            {
                userErrors.FindError      = true;
                userErrors.LastNameError  = true;
                userErrors.ResultMessage += "\n - " + MultiLanguageStrings.GetString(Ressource.StringRes, "User_FirstName_Empty.Text");
            }

            if (pUser.Mail == null)
            {
                userErrors.FindError      = true;
                userErrors.MailError      = true;
                userErrors.ResultMessage += "\n - " + MultiLanguageStrings.GetString(Ressource.StringRes, "User_Mail_Empty.Text");
            }

            if (String.IsNullOrEmpty(pUser.Secret.Question))
            {
                userErrors.FindError           = true;
                userErrors.SecretQuestionError = true;
                userErrors.ResultMessage      += "\n - " + "Screst question is empty";
            }

            if (String.IsNullOrEmpty(pUser.Secret.Answer))
            {
                userErrors.FindError = true;
                userErrors.SecretQuestionAnswerError = true;
                userErrors.ResultMessage            += "\n - " + "Screst question answer is empty";
            }

            Debug.Assert(OGender.CheckGender(pUser.Sex), string.Format("Non valid gender character is given for user: {0}", pUser.Name));

            if (userErrors.FindError)
            {
                return(userErrors);
            }

            if (pUser.Id == 0)
            {
                if (Find(pUser.UserName, pUser.Password) != null)
                {
                    userErrors.FindError      = true;
                    userErrors.ResultMessage += "\n - " + MultiLanguageStrings.GetString(Ressource.StringRes, "User_Save_AlreadyExist.Text");
                }
                else
                {
                    _userManager.AddUser(pUser);
                    if (_users != null)
                    {
                        _users.Add(pUser);
                    }
                    userErrors.ResultMessage = MultiLanguageStrings.GetString(Ressource.StringRes, "User_Save_OK.Text");
                }
            }
            else
            {
                _userManager.UpdateUser(pUser, saveSecret);
                if (_users != null)
                {
                    _users.Remove(_users.Where(u => u.UserName == pUser.UserName).FirstOrDefault());
                    _users.Add(pUser);
                }
                userErrors.ResultMessage = MultiLanguageStrings.GetString(Ressource.StringRes, "User_Update_OK.Text");
            }

            return(userErrors);
        }
        /// <summary>
        /// Save selected user
        /// </summary>
        /// <param name="pUser"></param>
        /// <returns>A struct contains, if necessary, errors occurs</returns>
        public UserErrors SaveUser(User pUser)
        {
            UserErrors userErrors = new UserErrors();

            if (pUser.UserName == null)
            {
                userErrors.FindError      = true;
                userErrors.LoginError     = true;
                userErrors.ResultMessage += "\n - " + MultiLanguageStrings.GetString(Ressource.StringRes, "User_Login_Empty.Text");
            }

            if (pUser.Password == null)
            {
                userErrors.FindError      = true;
                userErrors.PasswordError  = true;
                userErrors.ResultMessage += "\n - " + MultiLanguageStrings.GetString(Ressource.StringRes, "User_Password_Empty.Text");
            }

            if (pUser.UserRole == null)
            {
                userErrors.FindError      = true;
                userErrors.RoleError      = true;
                userErrors.ResultMessage += "\n - " + MultiLanguageStrings.GetString(Ressource.StringRes, "User_Role_Empty.Text");
            }
            if (pUser.UserRole.Id < 1)
            {
                userErrors.FindError      = true;
                userErrors.RoleError      = true;
                userErrors.ResultMessage += "\n - " + MultiLanguageStrings.GetString(Ressource.StringRes, "User_Role_Empty.Text");
            }
            if (pUser.FirstName == null)
            {
                userErrors.FindError      = true;
                userErrors.FirstNameError = true;
                userErrors.ResultMessage += "\n - " + MultiLanguageStrings.GetString(Ressource.StringRes, "User_LastName_Empty.Text");
            }

            if (pUser.LastName == null)
            {
                userErrors.FindError      = true;
                userErrors.LastNameError  = true;
                userErrors.ResultMessage += "\n - " + MultiLanguageStrings.GetString(Ressource.StringRes, "User_FirstName_Empty.Text");
            }

            if (pUser.Mail == null)
            {
                userErrors.FindError      = true;
                userErrors.MailError      = true;
                userErrors.ResultMessage += "\n - " + MultiLanguageStrings.GetString(Ressource.StringRes, "User_Mail_Empty.Text");
            }

            Debug.Assert(OGender.CheckGender(pUser.Sex), string.Format("Non valif geder character is given for user: {0}", pUser.Name));

            if (userErrors.FindError)
            {
                return(userErrors);
            }

            if (pUser.Id == 0)
            {
                if (Find(pUser.UserName, pUser.Password) != null)
                {
                    userErrors.FindError      = true;
                    userErrors.ResultMessage += "\n - " + MultiLanguageStrings.GetString(Ressource.StringRes, "User_Save_AlreadyExist.Text");
                }
                else
                {
                    _userManager.AddUser(pUser);
                    if (_users != null)
                    {
                        _users.Add(pUser);
                    }
                    userErrors.ResultMessage = MultiLanguageStrings.GetString(Ressource.StringRes, "User_Save_OK.Text");
                }
            }
            else
            {
                _userManager.UpdateUser(pUser);
                userErrors.ResultMessage = MultiLanguageStrings.GetString(Ressource.StringRes, "User_Update_OK.Text");
            }

            return(userErrors);
        }
Exemple #4
0
        /// <summary>
        /// Save selected user
        /// </summary>
        /// <param name="pUser"></param>
        /// <returns>A struct contains, if necessary, errors occurs</returns>
        public UserErrors SaveUser(User pUser)
        {
            var userErrors = new UserErrors();

            if (pUser.UserName == null)
            {
                userErrors.FindError      = true;
                userErrors.LoginError     = true;
                userErrors.ResultMessage += "\n - " + MultiLanguageStrings.GetString(Ressource.StringRes, "User_Login_Empty.Text");
            }

            if (pUser.Password == null)
            {
                userErrors.FindError      = true;
                userErrors.PasswordError  = true;
                userErrors.ResultMessage += "\n - " + MultiLanguageStrings.GetString(Ressource.StringRes, "User_Password_Empty.Text");
            }

            if (pUser.UserRole == null)
            {
                userErrors.FindError      = true;
                userErrors.RoleError      = true;
                userErrors.ResultMessage += "\n - " + MultiLanguageStrings.GetString(Ressource.StringRes, "User_Role_Empty.Text");
            }
            if (pUser.UserRole.Id < 1)
            {
                userErrors.FindError      = true;
                userErrors.RoleError      = true;
                userErrors.ResultMessage += "\n - " + MultiLanguageStrings.GetString(Ressource.StringRes, "User_Role_Empty.Text");
            }
            if (pUser.FirstName == null)
            {
                userErrors.FindError      = true;
                userErrors.FirstNameError = true;
                userErrors.ResultMessage += "\n - " + MultiLanguageStrings.GetString(Ressource.StringRes, "User_LastName_Empty.Text");
            }

            if (pUser.LastName == null)
            {
                userErrors.FindError      = true;
                userErrors.LastNameError  = true;
                userErrors.ResultMessage += "\n - " + MultiLanguageStrings.GetString(Ressource.StringRes, "User_FirstName_Empty.Text");
            }

            if (pUser.Mail == null)
            {
                userErrors.FindError      = true;
                userErrors.MailError      = true;
                userErrors.ResultMessage += "\n - " + MultiLanguageStrings.GetString(Ressource.StringRes, "User_Mail_Empty.Text");
            }

            Debug.Assert(OGender.CheckGender(pUser.Sex), string.Format("Non valif geder character is given for user: {0}", pUser.Name));


            if (pUser.Id == 0 && Find(pUser.UserName, pUser.Password) != null)
            {
                userErrors.FindError      = true;
                userErrors.ResultMessage += "\n - " + MultiLanguageStrings.GetString(Ressource.StringRes, "User_Save_AlreadyExist.Text");
            }

            if (!string.IsNullOrEmpty(pUser.Password) && (pUser.Password.Length < 4 || pUser.Password.Length > 30))
            {
                userErrors.FindError      = true;
                userErrors.PasswordError  = true;
                userErrors.ResultMessage += "\n - " + MultiLanguageStrings.GetString(Ressource.StringRes, "User_Password_Short_Long.Text");
            }

            return(userErrors.FindError ? userErrors : SaveUserInternal(pUser));
        }