public override async Task ExecuteAsync(SetMaintenancePacket setMaintenancePacket, ClientSession session) { var servers = (await _channelHttpClient.GetChannelsAsync().ConfigureAwait(false)) ?.Where(c => c.Type == ServerType.WorldServer).ToList(); var patch = new JsonPatch(PatchOperation.Replace(JsonPointer.Create <ChannelInfo>(o => o.IsMaintenance), setMaintenancePacket.MaintenanceMode.AsJsonElement())); if (setMaintenancePacket.IsGlobal == false) { await _channelHttpClient.PatchAsync(_channel.ChannelId, patch); } else { foreach (var server in servers ?? new List <ChannelInfo>()) { await _channelHttpClient.PatchAsync(server.Id, patch); } } }
public override async Task ExecuteAsync(SetMaintenancePacket setMaintenancePacket, ClientSession session) { var servers = (await _channelHttpClient.GetChannelsAsync().ConfigureAwait(false)) ?.Where(c => c.Type == ServerType.WorldServer).ToList(); var patch = new JsonPatchDocument <ChannelInfo>(); patch.Replace(link => link.IsMaintenance, setMaintenancePacket.MaintenanceMode); if (setMaintenancePacket.IsGlobal == false) { await _channelHttpClient.PatchAsync(MasterClientListSingleton.Instance.ChannelId, patch); } else { foreach (var server in servers ?? new List <ChannelInfo>()) { await _channelHttpClient.PatchAsync(server.Id, patch); } } }