Пример #1
0
        private void ProcessLike(response feed, VkGroup vkGroup)
        {
            if (feed.users[0].uid == null || feed.users[0].uid.Length == 0)
            {
                return;
            }

            foreach (var memberId in feed.users[0].uid)
            {
                var like = this.memberLikesRepository.GetLike(vkGroup.Id, memberId.Value, int.Parse(feed.ParentObjectId), (LikeShareType)feed.LikeShareType);

                if (like != null)
                {
                    this.log.DebugFormat("MemberLike for MemberId={0}, ItemId={1}, ItemType={2} is already in database", memberId.Value, feed.ParentObjectId, feed.LikeShareType);
                    continue;
                }

                like = new MemberLike
                {
                    ItemId    = int.Parse(feed.ParentObjectId),
                    VkGroupId = vkGroup.Id,
                    ItemType  = (LikeShareType)feed.LikeShareType,
                    VkId      = memberId.Value
                };

                this.memberLikesRepository.SaveLike(like);
            }
        }
        public void SaveLike(MemberLike like)
        {
            if (!like.IsTransient())
            {
                return;
            }

            using (IDataGateway dataGateway = this.dataGatewayProvider.GetDataGateway())
            {
                like.Id = dataGateway.Connection.Query <int>(@"insert into memberlike(vkmemberid, itemid, itemtype, vkgroupid) values (@VkMemberId, @ItemId, @ItemType, @VkGroupId) RETURNING id", like).First();
            }
        }
Пример #3
0
 public void SaveLike(MemberLike like)
 {
     try
     {
         this.memberLikeSharesRepository.SaveLike(like);
         this.cachingStrategy.StoreItem(like, this.GetLikeKey);
     }
     catch (DbException exc)
     {
         ExceptionHandler.HandleSaveException(exc, like, "MemberLike");
     }
 }