/// <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); }
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); }