[Fix] Roleban ban id fix (#77)
* roleban ban id fix * clean up * fix cast
This commit is contained in:
@@ -182,7 +182,15 @@ public sealed class RoleBanManager
|
|||||||
role,
|
role,
|
||||||
serverName);
|
serverName);
|
||||||
|
|
||||||
UtkaSendJobBanEvent(admin, target, minutes, job, isGlobalBan, reason);
|
if (!await AddRoleBan(banDef))
|
||||||
|
{
|
||||||
|
UtkaSendResponse(false);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
var banId = await UtkaGetBanId(reason, role, targetUid);
|
||||||
|
|
||||||
|
UtkaSendJobBanEvent(admin, target, minutes, job, isGlobalBan, reason, banId);
|
||||||
UtkaSendResponse(true);
|
UtkaSendResponse(true);
|
||||||
}
|
}
|
||||||
//WD end
|
//WD end
|
||||||
@@ -263,8 +271,12 @@ public sealed class RoleBanManager
|
|||||||
var length = expires == null ? Loc.GetString("cmd-roleban-inf") : Loc.GetString("cmd-roleban-until", ("expires", expires));
|
var length = expires == null ? Loc.GetString("cmd-roleban-inf") : Loc.GetString("cmd-roleban-until", ("expires", expires));
|
||||||
shell.WriteLine(Loc.GetString("cmd-roleban-success", ("target", target), ("role", role), ("reason", reason), ("length", length), ("server", serverName)));
|
shell.WriteLine(Loc.GetString("cmd-roleban-success", ("target", target), ("role", role), ("reason", reason), ("length", length), ("server", serverName)));
|
||||||
|
|
||||||
if (job != null) // WD
|
// WD start
|
||||||
UtkaSendJobBanEvent(shell.Player!.Name, target, minutes, job, isGlobalBan, reason); //WD
|
var banId = await UtkaGetBanId(reason, role, targetUid);
|
||||||
|
|
||||||
|
if (job != null)
|
||||||
|
UtkaSendJobBanEvent(shell.Player!.Name, target, minutes, job, isGlobalBan, reason, banId);
|
||||||
|
//WD end
|
||||||
}
|
}
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
@@ -279,20 +291,39 @@ public sealed class RoleBanManager
|
|||||||
_utkaSockets.SendMessageToAll(utkaBanned);
|
_utkaSockets.SendMessageToAll(utkaBanned);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void UtkaSendJobBanEvent(string ackey, string ckey, uint duration, string role, bool global,
|
private async void UtkaSendJobBanEvent(string ackey, string ckey, uint duration, string job, bool global,
|
||||||
string reason)
|
string reason, int banId)
|
||||||
{
|
{
|
||||||
var utkaBanned = new UtkaBannedEvent()
|
var utkaBanned = new UtkaBannedEvent()
|
||||||
{
|
{
|
||||||
ACkey = ackey,
|
ACkey = ackey,
|
||||||
Ckey = ckey,
|
Ckey = ckey,
|
||||||
Duration = duration,
|
Duration = duration,
|
||||||
Bantype = role,
|
Bantype = job,
|
||||||
Global = global,
|
Global = global,
|
||||||
Reason = reason
|
Reason = reason
|
||||||
};
|
};
|
||||||
|
|
||||||
_utkaSockets.SendMessageToAll(utkaBanned);
|
_utkaSockets.SendMessageToAll(utkaBanned);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private async Task<int> UtkaGetBanId(string reason, string role, NetUserId targetUid)
|
||||||
|
{
|
||||||
|
var banId = 0;
|
||||||
|
var banList = await _db.GetServerRoleBansAsync(null, targetUid, null);
|
||||||
|
|
||||||
|
foreach (var ban in banList)
|
||||||
|
{
|
||||||
|
if (ban.Reason == reason)
|
||||||
|
{
|
||||||
|
if (ban.Role == role && ban.Id != null)
|
||||||
|
{
|
||||||
|
banId = ban.Id.Value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return banId;
|
||||||
|
}
|
||||||
//WD end
|
//WD end
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user