public ChannelBlacklistView(ChannelUserBlacklist cub)
 {
     RoomId    = cub.ChannelId;
     UserId    = cub.UserId;
     AddDate   = cub.AddDate;
     UntilDate = cub.UntilDate;
 }
Exemple #2
0
        public async Task <ActionResult> AddUserToChannelBlacklist([FromQuery] int roomId,
                                                                   [FromBody] ChannelBlacklistInput input)
        {
            List <ChannelUserBlacklist> allUserInChannelBans =
                _ttsDbContext.ChannelUserBlacklist.Where(cub =>
                                                         cub.ChannelId == roomId &&
                                                         cub.UserId == input.UserId
                                                         ).ToList();

            foreach (ChannelUserBlacklist userInChannelBan in allUserInChannelBans)
            {
                _ttsDbContext.ChannelUserBlacklist.Remove(userInChannelBan);
            }

            await _ttsDbContext.SaveChangesAsync();

            ChannelUserBlacklist cub = new ChannelUserBlacklist
            {
                ChannelId = roomId,
                UserId    = input.UserId,
                AddDate   = DateTime.UtcNow,
                UntilDate = input.UntilDate
            };
            await _ttsDbContext.ChannelUserBlacklist.AddAsync(cub);

            await _ttsDbContext.SaveChangesAsync();

            return(CreatedAtAction(nameof(GetChannelBlacklist), new { roomId }, new ChannelBlacklistView(cub)));
        }