internal static RestGuildSnapshotChannel Create(GuildSnapshotChannelJson model) { RestGuildSnapshotChannel entity = new RestGuildSnapshotChannel { Bitrate = model.Bitrate, Id = int.Parse(model.Id.ToString()), Name = model.Name, Nsfw = model.Nsfw, Position = model.Position, SlowMode = model.SlowMode, Topic = model.Topic, Type = model.Type, UserLimit = model.UserLimit }; if (model.CategoryId.HasValue) { entity.CategoryId = model.CategoryId.Value; } if (model.PermissionOverwrites.IsSpecified) { entity.PermissionOverwrites = model.PermissionOverwrites.Value.Select(x => RestGuildSnapshotOverwrite.Create(x)).ToArray(); } return(entity); }
internal static RestGuildSnapshot Create(BaseDiscordClient discord, Model model) { RestGuildSnapshot entity = new RestGuildSnapshot { Name = model.Name, AFKTimeout = model.AFKTimeout, DefaultMessageNotifications = model.DefaultMessageNotifications, Description = model.Description, ExplicitContentFilter = model.ExplicitContentFilter, IconHash = model.IconHash, PreferredLocale = model.PreferredLocale, Region = model.Region, SystemChannelFlags = model.SystemChannelFlags, VerificationLevel = model.VerificationLevel }; if (model.AFKChannelId.HasValue) { entity.AFKChannelId = model.AFKChannelId.Value; } if (model.SystemChannelId.HasValue) { entity.SystemChannelId = model.SystemChannelId.Value; } ImmutableDictionary <int, RestGuildSnapshotRole> .Builder roles = ImmutableDictionary.CreateBuilder <int, RestGuildSnapshotRole>(); if (model.Roles != null) { for (int i = 0; i < model.Roles.Length; i++) { roles[model.Roles[i].Id] = RestGuildSnapshotRole.Create(model.Roles[i]); } } entity._roles = roles.ToImmutable(); ImmutableDictionary <int, RestGuildSnapshotChannel> .Builder channels = ImmutableDictionary.CreateBuilder <int, RestGuildSnapshotChannel>(); if (model.Channels != null) { for (int i = 0; i < model.Channels.Length; i++) { channels[model.Channels[i].Id] = RestGuildSnapshotChannel.Create(model.Channels[i]); } } entity._channels = channels.ToImmutable(); return(entity); }