Esempio n. 1
0
        public async Task <bool> DeleteShow(int showId)
        {
            var showToDelete = await _context.Show.FindAsync(showId);

            if (showToDelete == null)
            {
                return(false);
            }

            var usersWithShowToDeleteInShowList = _context.User.Where(user =>
                                                                      _context.UserToShowMapping
                                                                      .Where(userShow => userShow.UserId == user.Id && userShow.ShowId == showId)
                                                                      .Any()).ToList();

            foreach (var user in usersWithShowToDeleteInShowList)
            {
                var showListToRefresh = _userShowListRepository.GetUsersShowList(user.Id);
                showListToRefresh.Remove(showToDelete.Name);

                await _userShowListRepository.SetUsersShowList(user.Id, showListToRefresh).ConfigureAwait(false);
            }

            _context.Show.Remove(showToDelete);
            await _context.SaveChangesAsync().ConfigureAwait(false);

            return(true);
        }
Esempio n. 2
0
 public async Task <RankedShowList> UpdateUsersShowList(int userId, RankedShowList rankedShowList)
 {
     return(await _userShowListRepository.SetUsersShowList(userId, rankedShowList).ConfigureAwait(false));
 }