private void ProcessShare(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 share = this.memberLikeSharesRepository.GetShare(vkGroup.Id, memberId.Value, int.Parse(feed.ParentObjectId), (LikeShareType)feed.LikeShareType); if (share != null) { this.log.DebugFormat("MemberShare for MemberId={0}, ItemId={1}, ItemType={2} is already in database", memberId.Value, feed.ParentObjectId, feed.LikeShareType); continue; } share = new MemberShare { ItemId = int.Parse(feed.ParentObjectId), VkGroupId = vkGroup.Id, ItemType = (LikeShareType)feed.LikeShareType, VkId = memberId.Value }; this.memberLikeSharesRepository.SaveShare(share); } }
public void SaveShare(MemberShare share) { if (!share.IsTransient()) { return; } using (IDataGateway dataGateway = this.dataGatewayProvider.GetDataGateway()) { share.Id = dataGateway.Connection.Query <int>(@"insert into membershare(vkmemberid, itemid, itemtype, vkgroupid) values (@VkMemberId, @ItemId, @ItemType, @VkGroupId) RETURNING id", share).First(); } }
public void SaveShare(MemberShare share) { try { this.memberLikeSharesRepository.SaveShare(share); this.cachingStrategy.StoreItem(share, this.GetShareKey); } catch (DbException exc) { ExceptionHandler.HandleSaveException(exc, share, "MemberShare"); } }