DotNetNuke.Modules.Xml.Parameters.ParameterInfo.GetValue C# (CSharp) 메소드

GetValue() 공개 메소드

Determines parameter value based on applied settings.
public GetValue ( ) : string
리턴 string
        public string GetValue()
        {
            // init vars
            var argumentIsEmpty = string.IsNullOrEmpty(TypeArgument);
            var objSecurity = new PortalSecurity();
            // get value based on type
            switch (ParseType(Type))
            {
                case ParameterType.StaticValue:
                    // static

                    return TypeArgument;
                case ParameterType.PassThrough:
                    // pass-thru parameter / Querystring
                    if (argumentIsEmpty)
                        return "";
                    if ((HttpContext.Current != null))
                    {
                        var qString = HttpContext.Current.Request.QueryString[TypeArgument].DefaultIfNullOrEmpty();
                        return objSecurity.InputFilter(qString,
                                                       PortalSecurity.FilterFlag.NoMarkup |
                                                       PortalSecurity.FilterFlag.NoScripting);
                    }

                    break;
                case ParameterType.FormPassThrough:
                    // pass-thru parameter 
                    if (argumentIsEmpty)
                        return "";
                    if ((HttpContext.Current != null))
                    {
                        var fString = HttpContext.Current.Request.Form[TypeArgument].DefaultIfNullOrEmpty();
                        return objSecurity.InputFilter(fString,
                                                       PortalSecurity.FilterFlag.NoMarkup |
                                                       PortalSecurity.FilterFlag.NoScripting);
                    }

                    break;
                case ParameterType.PortalID:
                    // portal id

                    return Convert.ToString(Globals.GetPortalSettings().PortalId);
                case ParameterType.PortalName:
                    // portal name

                    return Convert.ToString(Globals.GetPortalSettings().PortalName);
                case ParameterType.HomeDirectory:
                    // portal name

                    return Convert.ToString(Globals.GetPortalSettings().HomeDirectory);
                case ParameterType.CurrentCulture:
                    // portal name

                    return Convert.ToString(new Localization().CurrentCulture);
                case ParameterType.TabID:
                    // active tab id

                    return Convert.ToString(Globals.GetPortalSettings().ActiveTab.TabID);
                case ParameterType.ModuleID:
                    // module id

                    return Convert.ToString(ModuleId);
                default:
                    // user property
                    // get current user
                    var objUser = UserController.GetCurrentUserInfo();

                    // handle user property
                    switch (ParseType(Type))
                    {
                        case ParameterType.UserCustomProperty:
                            // custom property
                            if (argumentIsEmpty)
                                return "";
                            return objUser.Profile.GetPropertyValue(TypeArgument);
                        case ParameterType.UserID:

                            return Convert.ToString(objUser.UserID);
                        case ParameterType.UserUsername:

                            return objUser.Username.DefaultIfNullOrEmpty(TypeArgument);
                        case ParameterType.UserFirstName:

                            return objUser.FirstName.DefaultIfNullOrEmpty(TypeArgument);
                        case ParameterType.UserLastName:

                            return objUser.LastName.DefaultIfNullOrEmpty(TypeArgument);
                        case ParameterType.UserFullName:

                            return objUser.DisplayName.DefaultIfNullOrEmpty(TypeArgument);
                        case ParameterType.UserEmail:

                            return objUser.Email.DefaultIfNullOrEmpty(TypeArgument);
                        case ParameterType.UserWebsite:

                            return objUser.Profile.Website.DefaultIfNullOrEmpty(TypeArgument);
                        case ParameterType.UserIM:

                            return objUser.Profile.IM.DefaultIfNullOrEmpty(TypeArgument);
                        case ParameterType.UserStreet:

                            return objUser.Profile.Street.DefaultIfNullOrEmpty(TypeArgument);
                        case ParameterType.UserUnit:

                            return objUser.Profile.Unit.DefaultIfNullOrEmpty(TypeArgument);
                        case ParameterType.UserCity:

                            return objUser.Profile.City.DefaultIfNullOrEmpty(TypeArgument);
                        case ParameterType.UserCountry:

                            return objUser.Profile.Country.DefaultIfNullOrEmpty(TypeArgument);
                        case ParameterType.UserRegion:

                            return objUser.Profile.Region.DefaultIfNullOrEmpty(TypeArgument);
                        case ParameterType.UserPostalCode:

                            return objUser.Profile.PostalCode.DefaultIfNullOrEmpty(TypeArgument);
                        case ParameterType.UserPhone:

                            return objUser.Profile.Telephone.DefaultIfNullOrEmpty(TypeArgument);
                        case ParameterType.UserCell:

                            return objUser.Profile.Cell.DefaultIfNullOrEmpty(TypeArgument);
                        case ParameterType.UserFax:

                            return objUser.Profile.Fax.DefaultIfNullOrEmpty(TypeArgument);
                        case ParameterType.UserLocale:

                            return objUser.Profile.PreferredLocale.DefaultIfNullOrEmpty(TypeArgument);
                        case ParameterType.UserTimeZone:

                            return objUser.Profile.TimeZone.DefaultIfNullOrEmpty(TypeArgument);
                        case ParameterType.UserIsAuthorized:

                            return objUser.Membership.Approved.DefaultIfNullOrEmpty(TypeArgument);
                        case ParameterType.UserIsLockedOut:

                            return objUser.Membership.LockedOut.DefaultIfNullOrEmpty(TypeArgument);
                        case ParameterType.UserIsSuperUser:

                            return objUser.IsSuperUser.DefaultIfNullOrEmpty(TypeArgument);
                    }

                    break;
            }
            return string.Empty;
        }