Пример #1
0
        public PrisonHelper GetPrisonRecordByIP(string IP)
        {
            PrisonHelper helper = null;

            try
            {
                using (var reader = _Connection.QueryReader("SELECT * FROM Prison WHERE IP = @0", IP))
                {
                    List <PrisonHelper> records = new List <PrisonHelper>();

                    while (reader.Read())
                    {
                        records.Add(new PrisonHelper()
                        {
                            PrisonID = reader.Get <int>("PrisonID"),
                            Until    = DateTime.Parse(reader.Get <string>("Until")),
                            User     = reader.Get <string>("User"),
                            Group    = reader.Get <string>("GroupName"),
                            IP       = reader.Get <string>("IP"),
                            Released = bool.Parse(reader.Get <string>("Released"))
                        });
                    }

                    helper = records.SingleOrDefault(p => p.Until > DateTime.Now);
                }
            }
            catch (Exception ex)
            {
                ExtendedLog.Current.Log(ex.ToString());
            }

            return(helper);
        }
Пример #2
0
        public PrisonHelper GetPrisonerUser(string user)
        {
            PrisonHelper prisoner = null;

            using (var reader = _Connection.QueryReader("SELECT * FROM Prison WHERE User = @0 AND Released = 'false'", user))
            {
                if (reader.Read())
                {
                    prisoner = new PrisonHelper()
                    {
                        Group    = reader.Get <string>("GroupName"),
                        IP       = reader.Get <string>("IP"),
                        PrisonID = reader.Get <int>("PrisonID"),
                        Released = bool.Parse(reader.Get <string>("Released")),
                        Until    = DateTime.Parse(reader.Get <string>("Until")),
                        User     = reader.Get <string>("User")
                    };
                }
            }

            return(prisoner);
        }
Пример #3
0
        private static void Release(PrisonManager manager, PrisonHelper prioner)
        {
            manager.Release(prioner.PrisonID);

            var player = TShock.Players.FirstOrDefault(p => p != null && p.UserAccountName == prioner.User && p.RealPlayer);

            UpdateGroup(player, prioner.User, prioner.Group);

            if (player != null)
            {
                var ePlayer = ExtendedAdmin.Players[player.Index];

                ePlayer.PrisonRecord = null;

                player.Teleport(Main.spawnTileX, Main.spawnTileY);
                player.SendMessage("You have been freed from prison", Color.Green);
                TShock.Utils.Broadcast(string.Format("{0} has been released from prison!", player.Name), Color.Goldenrod);
            }
        }
Пример #4
0
        public PrisonHelper GetPrisonerUser(string user)
        {
            PrisonHelper prisoner = null;

            using (var reader = _Connection.QueryReader("SELECT * FROM Prison WHERE User = @0 AND Released = 'false'", user))
            {
                if (reader.Read())
                {
                    prisoner = new PrisonHelper()
                    {
                        Group = reader.Get<string>("GroupName"),
                        IP = reader.Get<string>("IP"),
                        PrisonID = reader.Get<int>("PrisonID"),
                        Released = bool.Parse(reader.Get<string>("Released")),
                        Until = DateTime.Parse(reader.Get<string>("Until")),
                        User = reader.Get<string>("User")
                    };
                }
            }

            return prisoner;
        }