Пример #1
0
        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);
                }
            }
        }