public DetainedObject(bool isItem)
 {
     if (isItem)
     {
         m_dbItem = new DbDetainedItem();
     }
     else
     {
         m_dbReward = new DbPkReward();
     }
 }
        public bool Create(DbDetainedItem dbItem)
        {
            m_dbItem = dbItem;

            //if (!HasExpired)
            {
                DbItem item = Database.Items.FetchAll(m_dbItem.TargetIdentity)
                              .FirstOrDefault(x => x.Id == m_dbItem.ItemIdentity);
                if (item == null)
                {
                    ServerKernel.Log.GmLog("detain_reward_itemview",
                                           string.Format("Could not fetch data to item id {0}", m_dbItem.ItemIdentity));
                    return(false);
                }

                m_pPacket = new MsgDetainItemInfo
                {
                    Identity     = m_dbItem.Identity,
                    ItemIdentity = item.Id,
                    Itemtype     = item.Type,
                    Blessing     = item.ReduceDmg,
                    Plus         = item.Magic3,
                    Bound        = item.Monopoly == 3,
                    Color        = (ItemColor)item.Color,
                    Cost         = m_dbItem.RedeemPrice,
                    Date         =
                        uint.Parse(UnixTimestamp.ToDateTime((uint)m_dbItem.HuntTime).ToString("yyyyMMdd")),
                    DaysPast          = RemainingTime,
                    SocketOne         = (SocketGem)item.Gem1,
                    SocketTwo         = (SocketGem)item.Gem2,
                    Enchantment       = item.AddLife,
                    Effect            = (ItemEffect)item.Magic1,
                    Durability        = item.Amount,
                    MaximumDurability = item.AmountLimit,
                    Mode           = DetainMode.CLAIM_PAGE,
                    SocketProgress = item.Data,
                    OwnerIdentity  = m_dbItem.TargetIdentity,
                    OwnerName      = m_dbItem.TargetName,
                    TargetIdentity = m_dbItem.HunterIdentity,
                    TargetName     = m_dbItem.HunterName,
                    Expired        = HasExpired
                };
            }
            return(true);
        }