/// <summary> /// Creates a user. /// </summary> /// <returns><c>true</c>, if user was created, <c>false</c> otherwise.</returns> /// <param name="name">The players name.</param> /// <param name="password">Password.</param> /// <param name="op">If set to <c>true</c> op.</param> public static DbPlayer CreatePlayer(string name, string password, bool op = false) { #if DAPPER using (var ctx = DatabaseFactory.CreateConnection()) { using (var txn = ctx.BeginTransaction()) { var player = new DbPlayer(name, password) { Operator = op, DateAdded = DateTime.UtcNow }; player.Id = ctx.Insert(player, transaction: txn); var hc = new HookContext(); var ha = new Events.HookArgs.PlayerRegistered() { Connection = ctx, Transaction = txn, Player = player }; Events.HookPoints.PlayerRegistered.Invoke(ref hc, ref ha); if (hc.Result == HookResult.DEFAULT) { txn.Commit(); return(player); } else { txn.Rollback(); return(null); } } } #else using (var ctx = new TContext()) { DbPlayer player; ctx.Players.Add(player = new DbPlayer(name, password) { Operator = op, DateAddedUTC = DateTime.UtcNow }); ctx.SaveChanges(); return(player); } #endif }
/// <summary> /// Creates a user. /// </summary> /// <returns><c>true</c>, if user was created, <c>false</c> otherwise.</returns> /// <param name="name">The players name.</param> /// <param name="password">Password.</param> /// <param name="op">If set to <c>true</c> op.</param> public static DbPlayer CreatePlayer(string name, string password, bool op = false) { #if DAPPER using (var ctx = DatabaseFactory.CreateConnection()) { using (var txn = ctx.BeginTransaction()) { var player = new DbPlayer(name, password) { Operator = op, DateAdded = DateTime.UtcNow }; player.Id = ctx.Insert(player, transaction: txn); var hc = new HookContext(); var ha = new Events.HookArgs.PlayerRegistered() { Connection = ctx, Transaction = txn, Player = player }; Events.HookPoints.PlayerRegistered.Invoke(ref hc, ref ha); if (hc.Result == HookResult.DEFAULT) { txn.Commit(); return player; } else { txn.Rollback(); return null; } } } #else using (var ctx = new TContext()) { DbPlayer player; ctx.Players.Add(player = new DbPlayer(name, password) { Operator = op, DateAddedUTC = DateTime.UtcNow }); ctx.SaveChanges(); return player; } #endif }