Beispiel #1
0
        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);
        }
Beispiel #2
0
        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);
        }
Beispiel #3
0
        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;
        }