/// <summary> /// /// </summary> /// <param name="core"></param> /// <param name="itemType"></param> /// <param name="itemId"></param> /// <remarks>ItemRated should implement a transaction.</remarks> public static void ShareItem(Core core, ItemKey itemKey) { if (core == null) { throw new NullCoreException(); } if (itemKey.Id < 1) { throw new InvalidItemException(); } ItemInfo ii = null; try { ii = new ItemInfo(core, itemKey); } catch (InvalidIteminfoException) { ii = ItemInfo.Create(core, itemKey); } ii.IncrementSharedTimes(); InsertQuery iQuery = new InsertQuery(typeof(Share)); iQuery.AddField("share_item_id", itemKey.Id); iQuery.AddField("share_item_type_id", itemKey.TypeId); iQuery.AddField("user_id", core.LoggedInMemberId); iQuery.AddField("share_time_ut", UnixTime.UnixTimeStamp()); iQuery.AddField("share_ip", core.Session.IPAddress.ToString()); // commit the transaction core.Db.Query(iQuery); return; }