public async Task UpdateChannelSystemIsModerator(string channelName, bool systemIsModerator) { var model = new UpdateSystemIsModeratorStatusModel { SystemIsModerator = systemIsModerator }; var channel = await apiGateway.Post <ChannelModel, UpdateSystemIsModeratorStatusModel>(model, "channels", routeValues : new string[] { channelName, "systemIsModerator" }).ConfigureAwait(false); var existingChannel = Channels.Find(x => string.Equals(x.ChannelName, channelName, StringComparison.OrdinalIgnoreCase)); if (existingChannel != null) { Channels.Remove(existingChannel); Channels.Add(channel); } var existingChannelWithoutUser = ChannelsWithoutUser.Find(x => string.Equals(x.ChannelName, channelName, StringComparison.OrdinalIgnoreCase)); if (existingChannelWithoutUser != null) { ChannelsWithoutUser.Remove(existingChannelWithoutUser); ChannelsWithoutUser.Add(channel); } NotifyStateChanged(); }
public async Task UpdateSystemModeratorState(bool systemIsModerator) { var model = new UpdateSystemIsModeratorStatusModel { SystemIsModerator = systemIsModerator }; Channel = await apiGateway.Post <ChannelModel, UpdateSystemIsModeratorStatusModel>(model, "channels", routeValues : new string[] { CurrentlySelectedChannelName, "systemIsModerator" }).ConfigureAwait(false); NotifyStateChanged(); }
public async Task <IActionResult> SetSystemIsModeratorStatus([FromRoute] string channelName, [FromBody] UpdateSystemIsModeratorStatusModel model) { var result = await channelService.UpdateChannelSystemIsModeratorState(channelName, model.SystemIsModerator, ApplicationContext).ConfigureAwait(false); if (result.State == ResultState.AccessDenied) { return(Unauthorized()); } if (result.State == ResultState.NoContent) { return(BadRequest()); } return(Ok(result.Data.Map())); }