public RaffleHelper GetCurrentRaffle() { RaffleHelper raffle = null; try { using (var reader = _Connection.QueryReader("SELECT * FROM Raffle WHERE Winner IS NULL")) { if (reader.Read()) { raffle = new RaffleHelper() { RaffleID = reader.Get <int>("RaffleID"), LastRaffle = reader.Get <string>("LastRaffle") != null?DateTime.Parse(reader.Get <string>("LastRaffle")) : DateTime.MinValue, Pot = reader.Get <int>("Pot"), Winner = reader.Get <string>("Winner") }; } } } catch (Exception ex) { ExtendedLog.Current.Log(ex.ToString()); } return(raffle); }
public bool BuyTicket(TSPlayer player, int amount, int cost) { bool success = false; string user = player.UserAccountName; RaffleHelper raffle = GetCurrentRaffle(); if (raffle != null) { RaffleTicketHelper raffleTicket = GetRaffleTickets(user, raffle.RaffleID); try { var account = GetServerPointAccounts(user); ServerPointSystem.ServerPointSystem.Deduct(new CommandArgs("deduct", player, new List <string>() { player.Name, cost.ToString() })); //_Connection.Query("UPDATE serverpointaccounts SET amount = @0 WHERE name = @1", (account.Amount - cost), user); if (raffleTicket.Exists) { _Connection.Query("UPDATE RaffleTicket SET TicketCount = @0, CharacterName = @1 WHERE User = @2 AND RaffleID = @3", raffleTicket.TicketCount + amount, player.Name, user, raffle.RaffleID); } else { _Connection.Query("INSERT INTO RaffleTicket (RaffleID, User, TicketCount, CharacterName) VALUES (@0, @1, @2, @3)", raffle.RaffleID, raffleTicket.User, amount, player.Name); } _Connection.Query("UPDATE Raffle SET Pot = @0 WHERE RaffleID = @1", raffle.Pot + cost, raffle.RaffleID); success = true; } catch (Exception ex) { ExtendedLog.Current.Log(ex.ToString()); } } return(success); }
public RaffleHelper GetLastRaffle() { RaffleHelper raffle = null; try { using (var reader = _Connection.QueryReader("SELECT * FROM Raffle WHERE Winner IS NOT NULL ORDER BY RaffleID DESC LIMIT 0, 1")) { if (reader.Read()) { raffle = new RaffleHelper() { RaffleID = reader.Get<int>("RaffleID"), LastRaffle = DateTime.Parse(reader.Get<string>("LastRaffle")), Pot = reader.Get<int>("Pot"), Winner = reader.Get<string>("Winner") }; } } } catch (Exception ex) { ExtendedLog.Current.Log(ex.ToString()); } return raffle; }