personalgroupuserinfo.cs

来自「破解的飞信源代码」· CS 代码 · 共 184 行

CS
184
字号
namespace Imps.Client.Core
{
    using Imps.Client;
    using Imps.Client.Resource;
    using System;
    using System.Drawing;

    public class PersonalGroupUserInfo : PersonalGroupMemberInfoBase, ICommittable
    {
        private PersonalGroup _owner;

        public PersonalGroupUserInfo(PersonalGroup owner)
        {
            this._owner = owner;
        }

        public bool CommitChanges(AsyncBizOperation op)
        {
            try
            {
                this.Owner.Owner.PersonalGroupManager.AsyncUpdatePersonalInfo(this.Owner, op);
            }
            catch
            {
                return false;
            }
            return true;
        }

        public Image ApproveStateImage
        {
            get
            {
                switch (base.GroupUserIdentity.Value)
                {
                    case UserIdentity.WaitingApprove:
                        return ImpsIcons.PGroupWaitReply;

                    case UserIdentity.Rejct:
                        return ImpsIcons.PGroupReject;
                }
                return null;
            }
        }

        public bool EnableApproveApply
        {
            get
            {
                return base.IsManagerOrSuperManager;
            }
        }

        public bool EnableDeleteGroup
        {
            get
            {
                return (((UserIdentity) base.GroupUserIdentity.Value) == UserIdentity.SuperManager);
            }
        }

        public bool EnableDeleteGroupMember
        {
            get
            {
                return base.IsManagerOrSuperManager;
            }
        }

        public bool EnableGroupManage
        {
            get
            {
                return base.IsManagerOrSuperManager;
            }
        }

        public bool EnableGroupSendMessage
        {
            get
            {
                return !base.IsRejctOrWaitingApprove;
            }
        }

        public bool EnableGroupSendSMS
        {
            get
            {
                return (((UserIdentity) base.GroupUserIdentity.Value) == UserIdentity.SuperManager);
            }
        }

        public bool EnableInviteFriends
        {
            get
            {
                return (((UserIdentity) base.GroupUserIdentity.Value) == UserIdentity.SuperManager);
            }
        }

        public bool EnableModifyGroupAnnounceMent
        {
            get
            {
                return base.IsManagerOrSuperManager;
            }
        }

        public bool EnableModifyGroupInfo
        {
            get
            {
                if (base.IsManagerOrSuperManager)
                {
                    return (this.Owner.Owner.Status == UserAccountStatus.Logon);
                }
                return false;
            }
        }

        public bool EnableModifyMyInfo
        {
            get
            {
                if (!base.IsRejctOrWaitingApprove)
                {
                    return (this.Owner.Owner.Status == UserAccountStatus.Logon);
                }
                return false;
            }
        }

        public bool EnableSetGroupMemberIdentity
        {
            get
            {
                return (((UserIdentity) base.GroupUserIdentity.Value) == UserIdentity.SuperManager);
            }
        }

        public bool EnableViewMembers
        {
            get
            {
                return !base.IsRejctOrWaitingApprove;
            }
        }

        public ProposedData<PersonalGroupReceiveMessagePolicy> GroupReceiveMessagePolicy
        {
            get
            {
                return base.InnerGetPropertyValue<ProposedData<PersonalGroupReceiveMessagePolicy>>("GroupReceiveMessagePolicy");
            }
            internal set
            {
                base.InnerSetPropertyValue<ProposedData<PersonalGroupReceiveMessagePolicy>>("GroupReceiveMessagePolicy", value);
            }
        }

        public ProposedData<bool> GroupReceiveSMSPolicy
        {
            get
            {
                return base.InnerGetPropertyValue<ProposedData<bool>>("GroupReceiveSMSPolicy");
            }
            internal set
            {
                base.InnerSetPropertyValue<ProposedData<bool>>("GroupReceiveSMSPolicy", value);
            }
        }

        public PersonalGroup Owner
        {
            get
            {
                return this._owner;
            }
        }
    }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?