示例#1
0
        protected override void RemoveRecordFromTable(object refRecord)
        {
            Like like = refRecord as Like;

            activity.Reactions[like.reaction]--;
            Likes.Remove(like.poster_id, like.resource_id);
        }
示例#2
0
 /// <summary>
 /// Removes a user from the list of users that like an idea.
 /// </summary>
 /// <param name="user">The user to remove from the like list.
 /// If not in the list nothing happens.</param>
 public void UnlikeIdea(User user)
 {
     if (user == null)
     {
         throw new ArgumentNullException("user can not be null.");
     }
     if (Likes.Contains(user))
     {
         Likes.Remove(user);
     }
 }
示例#3
0
        public void RemoveLike(ulong userId, ulong actionId)
        {
            var activity = FindActivity(actionId, out var activitySource);

            if (activity.RemoveLike(userId))
            {
                var removeRes = Likes.Remove((uint)userId, actionId);
                Logger.Instance.Debug($"remove like of user {userId} to activity {actionId} resulted in {removeRes}");
                //also remove the like activity from the user's feed
                var source = SourcesMap.Instance.GetSource(userId, "user");
                source.ActivityFeed.RemoveReactionTo(actionId);
            }
        }
示例#4
0
        public void AddOrRemoveLike(Profile profile)
        {
            var existingLike = Likes.SingleOrDefault(x => x.Profile == profile);

            if (existingLike == null)
            {
                Likes.Add(new Like
                {
                    Post    = this,
                    Profile = profile,
                });
            }
            else
            {
                Likes.Remove(existingLike);
            }
        }
示例#5
0
    public void Finalize(IEnumerable <Deity> deities)
    {
        AcceptsPrayers     = Globals.Random.NextDouble() < 0.66f;
        DonationMultiplier = Globals.Random.NextDouble() < 0.66 ? 1 : -1;
        SacrificeCost      = Globals.Random.NextDouble() < 0.2f ? 5 : -1;

        Archetype.Finalize(this, deities);
        foreach (var domain in Domains)
        {
            domain.Finalize(this, deities);
        }

        Likes    = Likes.Distinct().ToList();
        Dislikes = Dislikes.Distinct().ToList();

        var common = Likes.Where(Dislikes.Contains).ToArray();

        foreach (var thing in common)
        {
            Likes.Remove(thing);
            Dislikes.Remove(thing);
        }
    }
示例#6
0
        private void Apply(LikeDeleted e)
        {
            var like = Likes.First(l => l.Id == e.LikeIdentifier);

            Likes.Remove(like);
        }