本文整理汇总了C#中Snowlight.Storage.SqlDatabaseClient类的典型用法代码示例。如果您正苦于以下问题:C# SqlDatabaseClient类的具体用法?C# SqlDatabaseClient怎么用?C# SqlDatabaseClient使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
SqlDatabaseClient类属于Snowlight.Storage命名空间,在下文中一共展示了SqlDatabaseClient类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: ReloadCache
public static void ReloadCache(SqlDatabaseClient MySqlClient)
{
lock (mSyncRoot)
{
mCharacterBlacklist.Clear();
mRemoteAddressBlacklist.Clear();
MySqlClient.SetParameter("timestamp", UnixTimestamp.GetCurrent());
DataTable Table = MySqlClient.ExecuteQueryTable("SELECT * FROM bans WHERE timestamp_expire > @timestamp");
foreach (DataRow Row in Table.Rows)
{
uint UserId = (uint)Row["user_id"];
string RemoteAddr = (string)Row["remote_address"];
if (UserId > 0 && !mCharacterBlacklist.Contains(UserId))
{
mCharacterBlacklist.Add(UserId);
}
if (RemoteAddr.Length > 0 && !mRemoteAddressBlacklist.Contains(RemoteAddr))
{
mRemoteAddressBlacklist.Add(RemoteAddr);
}
}
}
}
示例2: FavoriteRoomsCache
public FavoriteRoomsCache(SqlDatabaseClient MySqlClient, uint CharacterId)
{
mCharacterId = CharacterId;
mInner = new List<uint>();
ReloadCache(MySqlClient);
}
示例3: ReloadRewards
public static void ReloadRewards(SqlDatabaseClient MySqlClient)
{
lock (mSyncRoot)
{
DataTable Table = MySqlClient.ExecuteQueryTable("SELECT * FROM recycler_rewards");
int UniqueLevels = 0;
foreach (DataRow Row in Table.Rows)
{
int RewardLevel = (int)Row["chance_level"];
if (!mRewards.ContainsKey(RewardLevel))
{
mRewards.Add(RewardLevel, new List<uint>());
UniqueLevels++;
}
mRewards[RewardLevel].Add((uint)Row["item_id"]);
}
if (UniqueLevels != 5)
{
Output.WriteLine("Recycler is not configured correctly and will *not* work properly. Please ensure there are 5 unique reward levels.", OutputLevel.Warning);
mEnabled = false;
}
else
{
mEnabled = true;
}
}
}
示例4: InventoryCache
public InventoryCache(SqlDatabaseClient MySqlClient, uint CharacterId)
{
mCharacterId = CharacterId;
mInner = new Dictionary<uint, Item>();
ReloadCache(MySqlClient);
}
示例5: Initialize
public static void Initialize(SqlDatabaseClient MySqlClient)
{
mBadges = new Dictionary<uint, Badge>();
mRightSets = new Dictionary<uint,List<string>>();
RebuildCache(MySqlClient);
}
示例6: GetCharacterInfo
public static CharacterInfo GetCharacterInfo(SqlDatabaseClient MySqlClient, uint CharacterId, uint LinkedClientId, bool IgnoreCache)
{
if (SessionManager.ContainsCharacterId(CharacterId))
{
Session Session = SessionManager.GetSessionByCharacterId(CharacterId);
return Session.CharacterInfo;
}
if (!IgnoreCache)
{
CharacterInfo CachedInfo = TryGetInfoFromCache(CharacterId);
if (CachedInfo != null)
{
return CachedInfo;
}
}
MySqlClient.SetParameter("id", CharacterId);
DataRow Row = MySqlClient.ExecuteQueryRow("SELECT * FROM characters WHERE id = @id LIMIT 1");
if (Row != null)
{
return GenerateCharacterInfoFromRow(MySqlClient, LinkedClientId, Row);
}
return null;
}
示例7: CharacterInfo
public CharacterInfo(SqlDatabaseClient MySqlClient, uint SessionId, uint Id, string Username, string RealName, string Figure,
CharacterGender Gender, string Motto, int Credits, int ActivityPoints, double ActivityPointsLastUpdate,
bool PrivacyAcceptFriends, uint HomeRoom, int Score, int ConfigVolume, int ModerationTickets,
int ModerationTicketsAbusive, double ModerationTicketCooldown, int ModerationBans, int ModerationCautions,
double TimestampLastOnline, double TimestampRegistered, int RespectPoints, int RespectCreditHuman,
int RespectCreditPets, double ModerationMutedUntil)
{
mSessionId = SessionId;
mId = Id;
mUsername = Username;
mRealName = RealName;
mFigure = Figure;
mGender = Gender;
mMotto = Motto;
mCredits = Credits;
mActivityPoints = ActivityPoints;
mPrivacyAcceptFriends = PrivacyAcceptFriends;
mHomeRoom = HomeRoom;
mScore = Score;
mConfigVolume = ConfigVolume;
mRespectPoints = RespectPoints;
mRespectCreditHuman = RespectCreditHuman;
mRespectCreditPets = RespectCreditPets;
mModerationTickets = ModerationTickets;
mModerationTicketsAbusive = ModerationTicketsAbusive;
mModerationTicketsCooldown = ModerationTicketCooldown;
mModerationCautions = ModerationCautions;
mModerationBans = ModerationBans;
mModerationMutedUntil = ModerationMutedUntil;
mCacheAge = UnixTimestamp.GetCurrent();
mTimestampLastActivityPointsUpdate = ActivityPointsLastUpdate;
mTimestampLastOnline = TimestampLastOnline;
mTimestampRegistered = TimestampRegistered;
mWardrobe = new Dictionary<int, WardrobeItem>();
mTags = new List<string>();
if (MySqlClient != null)
{
MySqlClient.SetParameter("userid", mId);
DataTable Table = MySqlClient.ExecuteQueryTable("SELECT * FROM wardrobe WHERE user_id = @userid LIMIT 10");
foreach (DataRow Row in Table.Rows)
{
mWardrobe.Add((int)Row["slot_id"], new WardrobeItem((string)Row["figure"], (Row["gender"].ToString().ToLower() == "m" ? CharacterGender.Male : CharacterGender.Female)));
}
MySqlClient.SetParameter("userid", mId);
DataTable TagsTable = MySqlClient.ExecuteQueryTable("SELECT * FROM tags WHERE user_id = @userid");
foreach (DataRow Row in TagsTable.Rows)
{
mTags.Add((string)Row["tag"]);
}
}
}
示例8: Initialize
public static void Initialize(SqlDatabaseClient MySqlClient)
{
mSets = new Dictionary<int, DrinkSet>();
DataTable Table = MySqlClient.ExecuteQueryTable("SELECT * FROM drink_sets");
foreach (DataRow Row in Table.Rows)
{
int Id = (int)Row["id"];
string[] DrinkData = Row["drinks"].ToString().Split(',');
List<int> Drinks = new List<int>();
foreach (string Drink in DrinkData)
{
int i = 0;
int.TryParse(Drink, out i);
if (i > 0)
{
Drinks.Add(i);
}
}
if (Drinks.Count > 0)
{
mSets.Add(Id, new DrinkSet(Id, Drinks));
}
}
}
示例9: FriendshipExists
public static bool FriendshipExists(SqlDatabaseClient MySqlClient, uint UserId1, uint UserId2, bool ConfirmedOnly)
{
MySqlClient.SetParameter("user1", UserId1);
MySqlClient.SetParameter("user2", UserId2);
MySqlClient.SetParameter("confirmed", (ConfirmedOnly ? 0 : 2));
return (MySqlClient.ExecuteQueryRow("SELECT null FROM messenger_friendships WHERE user_1_id = @user1 AND user_2_id = @user2 AND confirmed != @confirmed OR user_2_id = @user1 AND user_1_id = @user2 AND confirmed != @confirmed LIMIT 1") != null);
}
示例10: NewItemsCache
public NewItemsCache(SqlDatabaseClient MySqlClient, uint UserId)
{
mUserId = UserId;
mInner = new Dictionary<int, List<uint>>();
mSyncRoot = new object();
ReloadCache(MySqlClient);
}
示例11: Initialize
public static void Initialize(SqlDatabaseClient MySqlClient)
{
mRaces = new Dictionary<int, List<PetRaceData>>();
mTricks = new Dictionary<int, List<string>>();
mSyncRoot = new object();
ReloadData(MySqlClient);
}
示例12: PetInventoryCache
public PetInventoryCache(SqlDatabaseClient MySqlClient, uint CharacterId)
{
mCharacterId = CharacterId;
mInner = new Dictionary<uint, Pet>();
mSyncRoot = new object();
ReloadCache(MySqlClient);
}
示例13: QuestCache
public QuestCache(SqlDatabaseClient MySqlClient, uint UserId)
{
mUserId = UserId;
mInner = new Dictionary<uint, int>();
mSyncRoot = new object();
ReloadCache(MySqlClient);
}
示例14: SessionMessengerFriendCache
public SessionMessengerFriendCache(SqlDatabaseClient MySqlClient, uint UserId)
{
mCharacterId = UserId;
mInner = new List<uint>();
mInnerUpdates = new Dictionary<uint, int>();
ReloadCache(MySqlClient);
}
示例15: AchievementCache
public AchievementCache(SqlDatabaseClient MySqlClient, uint UserId)
{
mUserId = UserId;
mInner = new Dictionary<string, UserAchievement>();
mSyncRoot = new object();
ReloadCache(MySqlClient);
}