Пример #1
0
        /// <summary>
        /// Obtém uma lista com os registros banidos do usuário que estão ativos.
        /// </summary>
        /// <param name="accountID"></param>
        /// <returns></returns>
        private List <AccountBan> GetBannedRecords(int accountID)
        {
            var query      = $"SELECT BannedID, ExpireDate, Permanent FROM AccountBan WHERE AccountID=@AccountID AND Expired=@Expired";
            var sqlCommand = factory.GetCommand(sqlConnection);

            sqlCommand.SetCommand(query);
            sqlCommand.AddParameter("@AccountID", accountID);
            sqlCommand.AddParameter("@Expired", (int)Expired.No);

            var sqlReader = sqlCommand.ExecuteReader();

            // Lista de todos os registros de ban que ainda estão ativos.
            var records = new List <AccountBan>();

            while (sqlReader.Read())
            {
                var record = new AccountBan {
                    Id = Convert.ToInt32(sqlReader.GetData("BannedID"))
                };

                if (!DBNull.Value.Equals(sqlReader.GetData("ExpireDate")))
                {
                    record.ExpireDate = Convert.ToDateTime(sqlReader.GetData("ExpireDate"));
                }

                record.Permanent = Convert.ToBoolean(sqlReader.GetData("Permanent"));

                // Adiciona na lista.
                records.Add(record);
            }

            sqlReader.Close();

            return(records);
        }
Пример #2
0
        public AccountBanData GetAccountBan(string userName)
        {
            AccountBan ban = null;

            BanManager.Instance.PostWait(mgr => ban = mgr.FindAccountBan(x => x.Account.Name == userName)).Wait();
            return(ban != null?ban.Serialize() : null);
        }