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(); } }
public void SaveLike(MemberLike like) { try { this.memberLikeSharesRepository.SaveLike(like); this.cachingStrategy.StoreItem(like, this.GetLikeKey); } catch (DbException exc) { ExceptionHandler.HandleSaveException(exc, like, "MemberLike"); } }