public string GetProperty(string strPropertyName, string strFormat, CultureInfo formatProvider, 
            Entities.Users.UserInfo AccessingUser, Scope CurrentScope, ref bool PropertyNotFound)
        {

            UserMembership objMembership = new UserMembership(objUser);
            //UserMembership objMembership = objUser.Membership;
            bool UserQueriesHimself = (objUser.UserID == AccessingUser.UserID && objUser.UserID != -1);
            if (CurrentScope < Scope.DefaultSettings || (CurrentScope == Scope.DefaultSettings && !UserQueriesHimself) || ((CurrentScope != Scope.SystemMessages || objUser.IsSuperUser) && strPropertyName.ToLower().StartsWith("password")))
            {
                PropertyNotFound = true;
                return PropertyAccess.ContentLocked;
            }
            else
            {
                string OutputFormat = string.Empty;
                if (strFormat == string.Empty)
                    OutputFormat = "g";
                switch (strPropertyName.ToLower())
                {
                    case "approved":
                        return (PropertyAccess.Boolean2LocalizedYesNo(objMembership.Approved, formatProvider));
                    case "createdondate":
                        return (objMembership.CreatedDate.ToString(OutputFormat, formatProvider));
                    case "isonline":
                        return (PropertyAccess.Boolean2LocalizedYesNo(objMembership.IsOnLine, formatProvider));
                    case "lastactivitydate":
                        return (objMembership.LastActivityDate.ToString(OutputFormat, formatProvider));
                    case "lastlockoutdate":
                        return (objMembership.LastLockoutDate.ToString(OutputFormat, formatProvider));
                    case "lastlogindate":
                        return (objMembership.LastLoginDate.ToString(OutputFormat, formatProvider));
                    case "lastpasswordchangedate":
                        return (objMembership.LastPasswordChangeDate.ToString(OutputFormat, formatProvider));
                    case "lockedout":
                        return (PropertyAccess.Boolean2LocalizedYesNo(objMembership.LockedOut, formatProvider));
                    case "objecthydrated":
                        return (PropertyAccess.Boolean2LocalizedYesNo(true, formatProvider));
                    case "password":
                        return PropertyAccess.FormatString(objMembership.Password, strFormat);
                    case "passwordanswer":
                        return PropertyAccess.FormatString(objMembership.PasswordAnswer, strFormat);
                    case "passwordquestion":
                        return PropertyAccess.FormatString(objMembership.PasswordQuestion, strFormat);
                    case "updatepassword":
                        return (PropertyAccess.Boolean2LocalizedYesNo(objMembership.UpdatePassword, formatProvider));
                    case "username":
                        return (PropertyAccess.FormatString(objUser.Username, strFormat));
                    case "email":
                        return (PropertyAccess.FormatString(objUser.Email, strFormat));
                }
            }
            return PropertyAccess.GetObjectProperty(objMembership, strPropertyName, strFormat, formatProvider, ref PropertyNotFound);
        }
Beispiel #2
0
        public string GetProperty(string strPropertyName, string strFormat, CultureInfo formatProvider,
                                  Entities.Users.UserInfo AccessingUser, Scope CurrentScope, ref bool PropertyNotFound)
        {
            UserMembership objMembership = new UserMembership(objUser);
            //UserMembership objMembership = objUser.Membership;
            bool UserQueriesHimself = (objUser.UserID == AccessingUser.UserID && objUser.UserID != -1);

            if (CurrentScope < Scope.DefaultSettings || (CurrentScope == Scope.DefaultSettings && !UserQueriesHimself) || ((CurrentScope != Scope.SystemMessages || objUser.IsSuperUser) && strPropertyName.ToLower().StartsWith("password")))
            {
                PropertyNotFound = true;
                return(PropertyAccess.ContentLocked);
            }
            else
            {
                string OutputFormat = string.Empty;
                if (strFormat == string.Empty)
                {
                    OutputFormat = "g";
                }
                switch (strPropertyName.ToLower())
                {
                case "approved":
                    return(PropertyAccess.Boolean2LocalizedYesNo(objMembership.Approved, formatProvider));

                case "createdondate":
                    return(objMembership.CreatedDate.ToString(OutputFormat, formatProvider));

                case "isonline":
                    return(PropertyAccess.Boolean2LocalizedYesNo(objMembership.IsOnLine, formatProvider));

                case "lastactivitydate":
                    return(objMembership.LastActivityDate.ToString(OutputFormat, formatProvider));

                case "lastlockoutdate":
                    return(objMembership.LastLockoutDate.ToString(OutputFormat, formatProvider));

                case "lastlogindate":
                    return(objMembership.LastLoginDate.ToString(OutputFormat, formatProvider));

                case "lastpasswordchangedate":
                    return(objMembership.LastPasswordChangeDate.ToString(OutputFormat, formatProvider));

                case "lockedout":
                    return(PropertyAccess.Boolean2LocalizedYesNo(objMembership.LockedOut, formatProvider));

                case "objecthydrated":
                    return(PropertyAccess.Boolean2LocalizedYesNo(true, formatProvider));

                case "password":
                    return(PropertyAccess.FormatString(objMembership.Password, strFormat));

                case "passwordanswer":
                    return(PropertyAccess.FormatString(objMembership.PasswordAnswer, strFormat));

                case "passwordquestion":
                    return(PropertyAccess.FormatString(objMembership.PasswordQuestion, strFormat));

                case "updatepassword":
                    return(PropertyAccess.Boolean2LocalizedYesNo(objMembership.UpdatePassword, formatProvider));

                case "username":
                    return(PropertyAccess.FormatString(objUser.Username, strFormat));

                case "email":
                    return(PropertyAccess.FormatString(objUser.Email, strFormat));
                }
            }
            return(PropertyAccess.GetObjectProperty(objMembership, strPropertyName, strFormat, formatProvider, ref PropertyNotFound));
        }