void LoadTicket(character c)
{
//We wrap our function inside a catcher
try
{
//First we get our data from the database.
MsSQL ms = new MsSQL("SELECT * FROM character_tickets WHERE owner ='" + c.Information.CharacterID + "' AND active='1'");
//Check if we have a active ticket
int CheckActive = ms.Count();
//Now if we have one active we continue
if (CheckActive == 1)
{
//Open new sql data reader
using (SqlDataReader reader = ms.Read())
{
//While sql data reader is reading
while (reader.Read())
{
//Set our ticket to active so they cannot use double premium tickets
Character.Premium.Active = true;
//We can use Character.Information.CharacterID but on safe side we read from db to make sure.
Character.Premium.OwnerID = reader.GetInt32(1);
//Get the id information to calculate the % gaining and type etc etc..
Character.Premium.TicketItemID = reader.GetInt32(2);
//Get unique id (incase we need it).
Character.Premium.TicketID = reader.GetInt32(0);
//Get the start time of the ticket
Character.Premium.StartTime = reader.GetDateTime(3);
}
}
//Close our data reader
ms.Close();
//Calculate remaining time left.
TimeSpan Timecheck = Convert.ToDateTime(Character.Premium.StartTime) - DateTime.Now;
double TimeRemaining = Timecheck.TotalMinutes;
//Finally we send our packet to the user (Icon).
client.Send(Packet.PremiumTicketData(Character.Premium.TicketItemID, Convert.ToInt32(TimeRemaining)));
}
}
catch (Exception ex)
{
Console.WriteLine("Premium ticket loading error {0}", ex);
Systems.Debugger.Write(ex);
}
}