Ejemplo n.º 1
0
        /// <summary>
        /// 添加屏蔽对象
        /// </summary>
        /// <param name="userId">屏蔽人UserId</param>
        /// <param name="objectType">被屏蔽对象类型</param>
        /// <param name="objectId">被屏蔽对象Id</param>
        /// <param name="objectName">被屏蔽对象名称</param>
        public bool Create(long userId, int objectType, long objectId, string objectName)
        {
            //在Repository添加被屏蔽对象时,需要检查userId +  objectType + objectId 是否已存在,如果已存在则不添加
            UserBlockedObject userBlockedObject = new UserBlockedObject
            {
                ObjectId    = objectId,
                ObjectName  = objectName,
                ObjectType  = objectType,
                UserId      = userId,
                DateCreated = DateTime.UtcNow
            };

            EventBus <UserBlockedObject> .Instance().OnBefore(userBlockedObject, new CommonEventArgs(EventOperationType.Instance().Create()));

            if (IsBlocked(userId, objectType, objectId))
            {
                return(false);
            }
            object blockId = userBlockRepository.Insert(userBlockedObject) ?? 0;

            if (Convert.ToInt64(blockId) > 0)
            {
                EventBus <UserBlockedObject> .Instance().OnAfter(userBlockedObject, new CommonEventArgs(EventOperationType.Instance().Create()));

                return(true);
            }
            return(false);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// 删除被屏蔽对象
        /// </summary>
        /// <param name="id">Id</param>
        public bool Delete(long id)
        {
            UserBlockedObject userBlockedObject = userBlockRepository.Get(id);

            EventBus <UserBlockedObject> .Instance().OnBefore(userBlockedObject, new CommonEventArgs(EventOperationType.Instance().Delete()));

            if (userBlockedObject != null && userBlockRepository.Delete(userBlockedObject) > 0)
            {
                EventBus <UserBlockedObject> .Instance().OnAfter(userBlockedObject, new CommonEventArgs(EventOperationType.Instance().Delete()));

                return(true);
            }
            return(false);
        }
 /// <summary>
 /// 屏蔽用户/取消屏蔽时动态处理
 /// </summary>
 /// <param name="sender">关注实体</param>
 /// <param name="eventArgs">事件参数</param>
 void UserBlockedObjectActivityEventModule_After(UserBlockedObject sender, CommonEventArgs eventArgs)
 {
     int ownerType = -1;
     if (sender.ObjectType == BlockedObjectTypes.Instance().User())
         ownerType = ActivityOwnerTypes.Instance().User();
     else if (sender.ObjectType == BlockedObjectTypes.Instance().Group())
         ownerType = ActivityOwnerTypes.Instance().Group();
     else
         return;
     ActivityService activityService = new ActivityService();
     if (EventOperationType.Instance().Create() == eventArgs.EventOperationType)
     {
         activityService.RemoveInboxAboutOwner(sender.UserId, sender.ObjectId, ownerType);
     }
     else if (EventOperationType.Instance().Delete() == eventArgs.EventOperationType)
     {
         activityService.TraceBackInboxAboutOwner(sender.UserId, sender.ObjectId, ownerType);
     }
 }
Ejemplo n.º 4
0
 /// <summary>
 /// 添加屏蔽对象
 /// </summary>
 /// <param name="userId">屏蔽人UserId</param>
 /// <param name="objectType">被屏蔽对象类型</param>
 /// <param name="objectId">被屏蔽对象Id</param>
 /// <param name="objectName">被屏蔽对象名称</param>
 public bool Create(long userId, int objectType, long objectId, string objectName)
 {
     //在Repository添加被屏蔽对象时,需要检查userId +  objectType + objectId 是否已存在,如果已存在则不添加
     UserBlockedObject userBlockedObject = new UserBlockedObject
     {
         ObjectId = objectId,
         ObjectName = objectName,
         ObjectType = objectType,
         UserId = userId,
         DateCreated = DateTime.UtcNow
     };
     EventBus<UserBlockedObject>.Instance().OnBefore(userBlockedObject, new CommonEventArgs(EventOperationType.Instance().Create()));
     if (IsBlocked(userId, objectType, objectId))
         return false;
     object blockId = userBlockRepository.Insert(userBlockedObject) ?? 0;
     if (Convert.ToInt64(blockId) > 0)
     {
         EventBus<UserBlockedObject>.Instance().OnAfter(userBlockedObject, new CommonEventArgs(EventOperationType.Instance().Create()));
         return true;
     }
     return false;
 }