public async Task AddVideoToFavoriteAsync(string videoId, string userId) { var favoriteVideo = this.favoritesVideosRepository.AllWithDeleted() .FirstOrDefault(v => v.VideoId == videoId && v.UserId == userId); if (favoriteVideo != null) { if (favoriteVideo.IsDeleted == true) { favoriteVideo.IsDeleted = false; favoriteVideo.DeletedOn = null; } favoriteVideo.CreatedOn = DateTime.UtcNow; } else { favoriteVideo = new FavoriteVideo { VideoId = videoId, UserId = userId, }; await this.favoritesVideosRepository.AddAsync(favoriteVideo); } await this.favoritesVideosRepository.SaveChangesAsync(); }
public FavoritesServiceTest() { var options = new DbContextOptionsBuilder <ApplicationDbContext>() .UseInMemoryDatabase(databaseName: Guid.NewGuid().ToString()); this.favoritesRepository = new EfDeletableEntityRepository <FavoriteVideo>(new ApplicationDbContext(options.Options)); this.service = new FavoritesService(this.favoritesRepository); this.favoriteVideo = new FavoriteVideo { Id = 1, UserId = "user1", VideoId = "video1", }; }