Пример #1
0
        public async Task DeleteVideoAsyncMethodTest()
        {
            // DbContextOptions 생성
            // DbContextOptionsBuilder를 사용하여 인-메모리 데이터베이스 정보를 DbContext에 전달
            var options = new DbContextOptionsBuilder <VideoDbContext>().UseInMemoryDatabase(databaseName: "DeleteVideo").Options;

            // 컨텍스트 개체 생성
            using (var context = new VideoDbContext(options))
            {
                context.Videos.Add(new Video {
                    Title = "제목", Url = "URL", Company = "Hawaso", Name = "박용준"
                });
                context.Videos.Add(new Video {
                    Title = "제목", Url = "URL", Company = "Hawaso", Name = "김태영"
                });
                context.Videos.Add(new Video {
                    Title = "제목", Url = "URL", Company = "Hawaso", Name = "한상훈"
                });
                context.SaveChanges();
            }

            using (var context = new VideoDbContext(options))
            {
                var repository = new VideoRepositoryEfCoreAsync(context);
                await repository.RemoveVideoAsync(1);

                context.SaveChanges();

                var videos = await repository.GetVideosAsync();

                Assert.AreEqual(2, videos.Count());
                Assert.IsNull(videos.Where(v => v.Name == "박용준").SingleOrDefault());
            }
        }
Пример #2
0
        public async Task AddVideoAsyncMethodTest()
        {
            // DbContextOptions 생성
            // DbContextOptionsBuilder를 사용하여 인-메모리 데이터베이스 정보를 DbContext에 전달
            var options = new DbContextOptionsBuilder <VideoDbContext>().UseInMemoryDatabase(databaseName: "AddVideo").Options;

            // 컨텍스트 개체 생성
            using (var context = new VideoDbContext(options))
            {
                // 리포지토리 개체 생성
                var repository = new VideoRepositoryEfCoreAsync(context);
                var video      = new Video {
                    Title = "제목", Url = "URL", Company = "Hawaso", Name = "홍길동"
                };
                await repository.AddVideoAsync(video);

                context.SaveChanges();
            }

            using (var context = new VideoDbContext(options))
            {
                Assert.IsTrue(context.Videos.Count() > 0);
                Assert.AreEqual("URL", context.Videos.Where(v => v.Name == "홍길동").Single().Url);
            }
        }
Пример #3
0
        public async Task GetVideosAsyncMethodTest()
        {
            // DbContextOptions 생성
            // DbContextOptionsBuilder를 사용하여 인-메모리 데이터베이스 정보를 DbContext에 전달
            var options = new DbContextOptionsBuilder <VideoDbContext>().UseInMemoryDatabase(databaseName: "GetVideos").Options;

            // 컨텍스트 개체 생성
            using (var context = new VideoDbContext(options))
            {
                var video1 = new Video {
                    Title = "제목", Url = "URL", Company = "Hawaso", Name = "박용준"
                };
                context.Videos.Add(video1);
                var video2 = new Video {
                    Title = "제목", Url = "URL", Company = "Hawaso", Name = "김태영"
                };
                context.Videos.Add(video2);
                var video3 = new Video {
                    Title = "제목", Url = "URL", Company = "Hawaso", Name = "한상훈"
                };
                context.Videos.Add(video3);
                context.SaveChanges();
            }

            using (var context = new VideoDbContext(options))
            {
                var repository = new VideoRepositoryEfCoreAsync(context);
                var videos     = await repository.GetVideosAsync();

                Assert.AreEqual(3, videos.Count());
                Assert.AreEqual("김태영", videos.Where(v => v.Id == 2).FirstOrDefault()?.Name);
            }
        }
Пример #4
0
 public VideoController(
     UserManager <ApplicationUser> userManager,
     VideoDbContext ctx)
 {
     _userManager = userManager;
     _ctx         = ctx;
 }
Пример #5
0
        public async Task GetVideoByIdAsyncMethodTest()
        {
            // DbContextOptions 생성
            // DbContextOptionsBuilder를 사용하여 인-메모리 데이터베이스 정보를 DbContext에 전달
            var options = new DbContextOptionsBuilder <VideoDbContext>().UseInMemoryDatabase(databaseName: "GetVideoById").Options;

            // 컨텍스트 개체 생성
            using (var context = new VideoDbContext(options))
            {
                context.Videos.Add(new Video {
                    Title = "제목", Url = "URL", Company = "Hawaso", Name = "박용준"
                });
                context.Videos.Add(new Video {
                    Title = "제목", Url = "URL", Company = "Hawaso", Name = "김태영"
                });
                context.Videos.Add(new Video {
                    Title = "제목", Url = "URL", Company = "Hawaso", Name = "한상훈"
                });
                context.SaveChanges();
            }

            using (var context = new VideoDbContext(options))
            {
                var repository = new VideoRepositoryEfCoreAsync(context);
                var video      = await repository.GetVideoByIdAsync(3);

                Assert.AreEqual("제목", video.Title);
                Assert.AreEqual("한상훈", video.Name);
            }
        }
Пример #6
0
 public SearchResultModel(VideoDbContext videoDbContext,
                          IMovieService movieService,
                          IMemoryCache memoryCache)
 {
     this.videoDbContext = videoDbContext;
     this.movieService   = movieService;
     this.memoryCache    = memoryCache;
 }
Пример #7
0
 public VideoController(IConfiguration config, VideoDbContext videoDb, IHostingEnvironment hostingEnvrionment)
 {
     _googleCredential = GoogleCredential.FromFile(config["GoogleCloudFile"]); // get credentials using filename from appsettings
     _storageClient    = StorageClient.Create(_googleCredential);
     _bucketName       = config["GCPBucketName"];                              // get bucketname from appsettings
     _videoDbContext   = videoDb;
     _hostEnv          = hostingEnvrionment;
 }
Пример #8
0
 public MovieService(UserDatabaseContext context,
                     IDataProtectionProvider provider,
                     CacheService cacheService,
                     VideoDbContext videoDbContext)
 {
     this.videoDbContext = videoDbContext;
     this.context        = context;
     this.cacheService   = cacheService;
     protector           = provider.CreateProtector("movie");
 }
Пример #9
0
        /// <summary>
        /// 保证EF上下文实例是线程内唯一。
        /// </summary>
        /// <returns></returns>
        public DbContext CreateDbContext()
        {
            DbContext dbContext = (DbContext)CallContext.GetData("dbContext");

            if (dbContext == null)
            {
                dbContext = new VideoDbContext();
                CallContext.SetData("dbContext", dbContext);
            }
            return(dbContext);
        }
Пример #10
0
        private VideoDbContext SetupDbContextWithDbSet(Action <VideoDbContext> setupDbSet)
        {
            var optionsBuilder = new DbContextOptionsBuilder <VideoDbContext>();

            optionsBuilder.UseInMemoryDatabase();

            var context = new VideoDbContext(optionsBuilder.Options);

            setupDbSet(context);
            context.SaveChanges();
            return(context);
        }
Пример #11
0
 public SqlVideoData(VideoDbContext db)
 {
     _db = db;
 }
Пример #12
0
 public VideoController(VideoDbContext dbContext, UserManager <IdentityUser> userManager)
 {
     context      = dbContext;
     _userManager = userManager;
 }
 public ProcessingCallbackController(VideoDbContext context, IConfiguration configuration)
 {
     _context       = context;
     _configuration = configuration;
 }
Пример #14
0
 protected BaseRepository(VideoDbContext videoDbContext)
 {
     _videoDbContext = videoDbContext;
 }
Пример #15
0
 public CourseRepository(VideoDbContext videoDbContext) : base(videoDbContext)
 {
 }
 public TransactionRepository(VideoDbContext videoDbContext) : base(videoDbContext)
 {
 }
Пример #17
0
 public VideoWidgetService(VideoDbContext videoDb, ConnectDbContext connectDb, IOptions <DriveOptions> driveOptions)
 {
     _videoDb      = videoDb;
     _connectDb    = connectDb;
     _driveOptions = driveOptions.Value;
 }
Пример #18
0
 public SqlService(VideoDbContext db)
 {
     _db = db;
 }
Пример #19
0
 public VideoBackgroundWidgetService(VideoDbContext videoDb)
 {
     _videoDb = videoDb;
 }
Пример #20
0
 public LocalDatabaseStore(VideoDbContext context)
 {
     _context = context;
 }
Пример #21
0
 public MovieRepository()
 {
     context = new VideoDbContext();
 }
 public StatusRepository(VideoDbContext dbContext)
 {
     _dbContext = dbContext;
 }
Пример #23
0
 public DatabaseService(VideoDbContext _context)
 {
     _theContext = _context;
 }
Пример #24
0
 public VideosController(VideoDbContext context, UserManager <ApplicationUser> userManager)
 {
     _context     = context;
     _userManager = userManager;
 }
Пример #25
0
 public AuthorRepository(VideoDbContext videoDbContext) : base(videoDbContext)
 {
 }
Пример #26
0
 public DetailModel(IMovieService movieService, VideoDbContext videoDbContext, AdvertisementService advertisementService)
 {
     this.movieService         = movieService;
     this.videoDbContext       = videoDbContext;
     this.advertisementService = advertisementService;
 }
Пример #27
0
 public SQLVideoDataService(VideoDbContext videoDbContext)
 {
     _videoDbContext = videoDbContext;
 }
Пример #28
0
 public VideoStreamLinkService(VideoDbContext db)
 {
     _db = db;
 }
Пример #29
0
 public VideoRepository(VideoDbContext videoDbContext) : base(videoDbContext)
 {
 }
 public SqlVideoDataService(VideoDbContext context)
 {
     this.db = context;
 }