예제 #1
0
        public static CBB.ExceptionHelper.OperationResult FavorMember(String fromMember, String toMember)
        {
            try
            {
                CBB.ExceptionHelper.OperationResult result = Relation.RelationProvider.AddFavorer(fromMember, toMember);
                if (result.ok)
                {
                    BiZ.MemberManager.MemberManager.ModifyFavorMemberCount(fromMember, MemberManager.StatusModifyType.Add);
                    BiZ.MemberManager.MemberManager.ModifyMemberFavoredMeCount(toMember, MemberManager.StatusModifyType.Add);
                    BiZ.MemberManager.MemberManager.ModifyUnReadBeenFavorCountCount(toMember, MemberManager.StatusModifyType.Add);
                    //关注他人时记录用户对该用户的关注度
                    Recommendation.MemberFavorTrainingData membFavoTrai = new Recommendation.MemberFavorTrainingData(fromMember, toMember, Recommendation.MemberFavorTrainingDataType.AddToFansGroup);

                    //增加用户关联关注
                    AddActivityRelatedToMe(
                        toMember,
                        fromMember,
                        ActivityType.BeenFavored,
                        BiZ.Member.Activity.ActivityController.GetActivityContent_BeenFavored_Title(),
                        BiZ.Member.Activity.ActivityController.GetActivityContent_BeenFavored(),
                        false);
                }

                return new CBB.ExceptionHelper.OperationResult(true);
            }
            catch (System.Exception err)
            {
                throw new CBB.ExceptionHelper.OperationException(
                    CBB.ExceptionHelper.ErrType.SystemErr,
                    CBB.ExceptionHelper.ErrNo.DBOperationError,
                    err);
            }
        }
예제 #2
0
        public static CBB.ExceptionHelper.OperationResult MsgToMember(String fromMember, String toMember, String comment, ActivityType type)
        {
            try
            {
                CBB.ExceptionHelper.OperationResult result;
                //自己不能给自己发私信
                if ((fromMember == toMember) && (type == BiZ.Member.Activity.ActivityType.Talk))
                {
                    return new CBB.ExceptionHelper.OperationResult(false, "自己不能给自己发私信");
                }
                //如果对方已经屏蔽我,则更改类型
                if (BiZ.Member.Relation.RelationProvider.IsMemberDisableMe(toMember, fromMember))
                {
                    if (type == BiZ.Member.Activity.ActivityType.Talk || type == BiZ.Member.Activity.ActivityType.AskToDate)
                    //if (type == BiZ.Member.Activity.ActivityType.Talk || type == BiZ.Member.Activity.ActivityType.SaiHi || type == BiZ.Member.Activity.ActivityType.AskToDate)
                        type = BiZ.Member.Activity.ActivityType.DisabledTalk;
                    else
                        type = BiZ.Member.Activity.ActivityType.DisabledMsg;
                }

                result = BiZ.Member.Link.MsgProvider.MsgToMember(fromMember, toMember, comment, type);

                if (result.ok)
                {
                    if (type != ActivityType.DisabledTalk & type != ActivityType.DisabledMsg)
                    {
                        //增加未读信息数量
                        result = BiZ.MemberManager.MemberManager.ModifyUnReadMsgCount(toMember, MemberManager.StatusModifyType.Add, 1);
                    }
                    //增加总发出信息条数
                    result = BiZ.MemberManager.MemberManager.ModifyTotalMsgCount(fromMember, MemberManager.StatusModifyType.Add);

                    //如果是用户聊天
                    if (type == ActivityType.Talk)
                    {
                        //如果用户设置中,设置了自动关注,则增加关注
                        Member mym = MemberManager.MemberManager.GetMember(fromMember);
                        if (mym.Settings != null)
                            if (mym.Settings.AutoAddOutCallingToMyFavorList)
                            {
                                result = FavorMember(fromMember, toMember);
                            }
                    }

                    bool isFristConnect = false;
                    result = Relation.RelationProvider.AddLastMsger(fromMember, toMember, comment, type, out isFristConnect);

                    //用户对他人第一次主动发起时记录用户对该用户的关注度
                    if (isFristConnect)
                    {
                        Recommendation.MemberFavorTrainingData membFavoTrai = new Recommendation.MemberFavorTrainingData(fromMember, toMember, Recommendation.MemberFavorTrainingDataType.Call);
                    }

                    //增加用户动态到后台
                    BiZ.Sys.MemberActivity.MemberActivityProvider.CreateMemberActivity(
                        fromMember,
                        toMember,
                        BiZ.Sys.MemberActivity.MemberActivityType.PrivateLetter,
                        "/Content/TaContent/" + fromMember);
                }
                return result;
            }
            catch (System.Exception err)
            {
                throw new CBB.ExceptionHelper.OperationException(
                    CBB.ExceptionHelper.ErrType.SystemErr,
                    CBB.ExceptionHelper.ErrNo.DBOperationError,
                    err);
            }
        }