Beispiel #1
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 #2
0
        public RaffleTicketHelper GetRaffleTickets(string user, int raffleID)
        {
            RaffleTicketHelper raffleTicket = null;

            try
            {
                using (var reader = _Connection.QueryReader("SELECT * FROM RaffleTicket WHERE User = @0 AND RaffleID = @1", user, raffleID))
                {
                    if (reader.Read())
                    {
                        raffleTicket = new RaffleTicketHelper()
                        {
                            RaffleID      = reader.Get <int>("RaffleID"),
                            TicketCount   = reader.Get <int>("TicketCount"),
                            User          = reader.Get <string>("User"),
                            Exists        = true,
                            CharacterName = reader.Get <string>("CharacterName")
                        };
                    }
                    else
                    {
                        raffleTicket = new RaffleTicketHelper()
                        {
                            RaffleID      = raffleID,
                            User          = user,
                            TicketCount   = 0,
                            Exists        = false,
                            CharacterName = ""
                        };
                    }
                }
            }
            catch (Exception ex)
            {
                ExtendedLog.Current.Log(ex.ToString());
            }

            return(raffleTicket);
        }
Beispiel #3
0
        public RaffleTicketHelper GetRaffleTickets(string user, int raffleID)
        {
            RaffleTicketHelper raffleTicket = null;

            try
            {
                using (var reader = _Connection.QueryReader("SELECT * FROM RaffleTicket WHERE User = @0 AND RaffleID = @1", user, raffleID))
                {
                    if (reader.Read())
                    {
                        raffleTicket = new RaffleTicketHelper()
                        {
                            RaffleID = reader.Get<int>("RaffleID"),
                            TicketCount = reader.Get<int>("TicketCount"),
                            User = reader.Get<string>("User"),
                            Exists = true,
                            CharacterName = reader.Get<string>("CharacterName")
                        };
                    }
                    else
                    {
                        raffleTicket = new RaffleTicketHelper()
                        {
                            RaffleID = raffleID,
                            User = user,
                            TicketCount = 0,
                            Exists = false,
                            CharacterName = ""
                        };
                    }
                }
            }
            catch (Exception ex)
            {
                ExtendedLog.Current.Log(ex.ToString());
            }

            return raffleTicket;
        }