public static void DetainItem(Interfaces.IConquerItem item, Client.GameState owner, Client.GameState gainer)
        {
            DetainedItem Item = new DetainedItem(true);
            Item.ItemUID = item.UID;
            Item.Item = item;
            Item.UID = Item.ItemUID - 1;
            Item.ConquerPointsCost = CalculateCost(item);
            Item.OwnerUID = owner.Entity.UID;
            Item.OwnerName = owner.Entity.Name;
            Item.GainerUID = gainer.Entity.UID;
            Item.GainerName = gainer.Entity.Name;
            Item.Date = DateTime.Now;
            Item.DaysLeft = 0;
            owner.DeatinedItem.Add(Item.UID, Item);
            owner.Send(Item);

            DetainedItem Item2 = new DetainedItem(true);
            Item2.ItemUID = item.UID;
            Item2.UID = Item2.ItemUID - 1;
            Item2.Item = item;
            Item2.Page = (byte)DetainedItem.ClaimPage;
            Item2.ConquerPointsCost = CalculateCost(item);
            Item2.OwnerUID = gainer.Entity.UID;
            Item2.GainerName = gainer.Entity.Name;
            Item2.GainerUID = owner.Entity.UID;
            Item2.OwnerName = owner.Entity.Name;
            Item2.Date = Item.Date;
            Item2.DaysLeft = 0;
            gainer.ClaimableItem.Add(Item2.UID, Item2);
            gainer.Send(Item2);
            MySqlCommand cmd = new MySqlCommand(MySqlCommandType.INSERT)
                .Insert("detaineditems")
                .Insert("ItemUID", item.UID)
                .Insert("ConquerPointsCost", Item.ConquerPointsCost)
                .Insert("Date", Item.Date.Ticks)
                .Insert("OwnerUID", owner.Entity.UID)
                .Insert("OwnerName", owner.Entity.Name)
                .Insert("GainerUID", gainer.Entity.UID)
                .Insert("GainerName", gainer.Entity.Name);
            //.Where("ItemUID", item.UID);
            cmd.Execute();
        }
 public static void LoadClaimableItems(Client.GameState client)
 {
     MySqlCommand cmd = new MySqlCommand(MySqlCommandType.SELECT);
     cmd.Select("detaineditems").Where("GainerUID", client.Entity.UID);
     MySqlReader r = new MySqlReader(cmd);
     while (r.Read())
     {
         DetainedItem item = new DetainedItem(true);
         item.ItemUID = r.ReadUInt32("ItemUID");
         item.UID = item.ItemUID - 1;
         item.Page = (byte)DetainedItem.ClaimPage;
         item.Item = ConquerItemTable.LoadItem(item.ItemUID);
         item.ConquerPointsCost = r.ReadUInt32("ConquerPointsCost");
         item.OwnerUID = r.ReadUInt32("GainerUID");
         item.GainerName = r.ReadString("GainerName");
         item.GainerUID = r.ReadUInt32("OwnerUID");
         item.OwnerName = r.ReadString("OwnerName");
         item.Date = DateTime.FromBinary(r.ReadInt64("Date"));
         item.DaysLeft = (uint)(TimeSpan.FromTicks(DateTime.Now.Ticks).Days - TimeSpan.FromTicks(item.Date.Ticks).Days);
         if (item.GainerUID == 500)
         {
             item.MakeItReadyToClaim();
             item.GainerUID = r.ReadUInt32("GainerUID");
             item.OwnerUID = r.ReadUInt32("OwnerUID");
         }
         client.ClaimableItem.Add(item.UID, item);
     }
     r.Close();
 }
 public static void Claim(DetainedItem item, Client.GameState owner)
 {
     MySqlCommand cmd = new MySqlCommand(MySqlCommandType.DELETE).Delete("detaineditems", "ItemUID", item.Item.UID).And("GainerUID", owner.Entity.UID);
     cmd.Execute();
 }
 public static void Redeem(DetainedItem item, Client.GameState owner)
 {
     MySqlCommand cmd = new MySqlCommand(MySqlCommandType.UPDATE)
         .Update("detaineditems").Set("OwnerUID", 500).Where("ItemUID", item.Item.UID).And("OwnerUID", owner.Entity.UID);
     cmd.Execute();
 }