コード例 #1
0
        private void ExtendedField(int userID, ExtendedFieldCollection fields, ExtendedFieldListTemplate temlate)
        {
            User user = null;

            foreach (ExtendedField field in fields)
            {
                if (user == null && userID != 0)
                {
                    user = UserBO.Instance.GetUser(userID);
                }
                if (user == null)
                {
                    temlate(field, UserBO.Instance.GetExtendedFieldType(field.FieldTypeName), null, 0, null);
                    continue;
                }

                UserExtendedValue extendedValue = user.ExtendedFields.GetValue(field.Key);

                int    privacyType = 0;
                string userValue;
                if (extendedValue != null)
                {
                    privacyType = (int)extendedValue.PrivacyType;
                    userValue   = extendedValue.Value;
                }
                else
                {
                    privacyType = (int)field.DisplayType;
                    userValue   = string.Empty;
                }

                temlate(field, UserBO.Instance.GetExtendedFieldType(field.FieldTypeName), extendedValue, privacyType, userValue);
            }
        }
コード例 #2
0
        public bool UserNeedCompleteInfo(User user)
        {
            if (Version != string.Empty && user.ExtendedFieldVersion != null && Version != user.ExtendedFieldVersion)
            {
                ExtendedField[] fields = FieldsWithPassport.ToArray();

                foreach (ExtendedField field in fields)
                {
                    if (field.IsRequired)
                    {
                        UserExtendedValue extendedValue = user.ExtendedFields.GetValue(field.Key);
                        if (extendedValue == null || string.IsNullOrEmpty(extendedValue.Value))
                        {
                            return(true);
                        }
                    }
                }

                UserBO.Instance.UpdateExtendedFieldVersion(user.UserID, Version);

                return(false);
            }

            return(false);
        }
コード例 #3
0
ファイル: ProxyConverter.cs プロジェクト: zhangbo27/bbsmax
        public static UserExtendedValueProxy GetUserExtendedValueProxy(UserExtendedValue userExtendedValue)
        {
            if (userExtendedValue == null)
            {
                return(null);
            }

            UserExtendedValueProxy proxy = new UserExtendedValueProxy();

            proxy.ExtendedFieldID = userExtendedValue.ExtendedFieldID;
            proxy.PrivacyType     = (int)userExtendedValue.PrivacyType;
            proxy.UserID          = userExtendedValue.UserID;
            proxy.Value           = userExtendedValue.Value;

            return(proxy);
        }
コード例 #4
0
        public List <string> GetNeedCompleteInfoNames(User user)
        {
            List <string> result = new List <string>();

            if (Version != string.Empty && user.ExtendedFieldVersion != null && Version != user.ExtendedFieldVersion)
            {
                ExtendedField[] fields = FieldsWithPassport.ToArray();

                foreach (ExtendedField field in fields)
                {
                    if (field.IsRequired)
                    {
                        UserExtendedValue extendedValue = user.ExtendedFields.GetValue(field.Key);
                        if (extendedValue == null || string.IsNullOrEmpty(extendedValue.Value))
                        {
                            result.Add(field.Name);
                        }
                    }
                }
            }

            return(result);
        }
コード例 #5
0
ファイル: ProxyConverter.cs プロジェクト: huchao007/bbsmax
        public static UserExtendedValueProxy GetUserExtendedValueProxy(UserExtendedValue userExtendedValue)
        {
            if (userExtendedValue == null)
                return null;

            UserExtendedValueProxy proxy = new UserExtendedValueProxy();
            proxy.ExtendedFieldID = userExtendedValue.ExtendedFieldID;
            proxy.PrivacyType = (int)userExtendedValue.PrivacyType;
            proxy.UserID = userExtendedValue.UserID;
            proxy.Value = userExtendedValue.Value;

            return proxy;
        }
コード例 #6
0
ファイル: setting.aspx.cs プロジェクト: zhangbo27/bbsmax
        protected void UpdateUserProfile()
        {
            MessageDisplay msgDisplay;

            string signature;
            short  birthYear;
            short  birthMonth, birthday;
            int    genderValue;
            Gender gender;
            UserExtendedValueCollection extendedFileds;
            float timeZone;

            genderValue = _Request.Get <int>("gender", Method.Post, 0);
            birthYear   = _Request.Get <short>("birthYear", Method.Post, 0);
            birthMonth  = _Request.Get <short>("birthMonth", Method.Post, 0);
            birthday    = _Request.Get <short>("birthday", Method.Post, 0);
            gender      = (Gender)genderValue;
            timeZone    = _Request.Get <float>("timezone", Method.Post, 8.0f);
            signature   = _Request.Get("signature", Method.Post, string.Empty, false);

            List <string> fieldNames = new List <string>();

            ExtendedField[] fields = AllSettings.Current.ExtendedFieldSettings.FieldsWithPassport.ToArray();

            foreach (ExtendedField field in fields)
            {
                fieldNames.Add(field.Key);
            }

            msgDisplay = CreateMessageDisplay(fieldNames.ToArray());

            extendedFileds = UserBO.Instance.LoadExtendedFieldValues();

            CatchError <ErrorInfo>(delegate(ErrorInfo error)
            {
                msgDisplay.AddError(error);
            });

            ExtendedFieldCollection settingFields = AllSettings.Current.ExtendedFieldSettings.FieldsWithPassport;

            bool success = false;

            if (!msgDisplay.HasAnyError())
            {
                foreach (ExtendedField field in settingFields)
                {
                    if (field.IsRequired)
                    {
                        UserExtendedValue temp = extendedFileds.GetValue(field.Key);
                        if (temp == null || string.IsNullOrEmpty(temp.Value))
                        {
                            msgDisplay.AddError(field.Key, "必须填写此项");
                            break;
                        }
                    }
                }

                if (!msgDisplay.HasAnyError())
                {
                    success = UserBO.Instance.UpdateUserProfile(
                        My
                        , gender
                        , birthYear
                        , birthMonth
                        , birthday
                        , signature
                        , timeZone
                        , extendedFileds);

                    if (success == false)
                    {
                        CatchError <ErrorInfo>(delegate(ErrorInfo error)
                        {
                            msgDisplay.AddError(error);
                        });
                    }
                    else
                    {
                        BbsRouter.JumpToCurrentUrl("success=1");
                    }
                }
            }
        }