예제 #1
0
        public IActionResult GetMovie(int id)
        {
            var movie = (from m in _movieRepo.FindById(id)
                         select new
            {
                Title = m.Title,
                Actors = (from ma in m.MovieActors
                          select ma.Actor).ToList()
            }).FirstOrDefault();

            return(Ok(movie));
        }
        public async Task CanFindMovieByIdAPI()
        {
            var context   = DataContextFactory.GetDataContext();
            var movieRepo = new MovieRepository();
            int id        = 558;
            var m         = await movieRepo.FindById(id);

            m.Should().NotBeNull();
            if (m.MovieGenres.Count > 0)
            {
                m.MovieGenres[0].Genre.Should().NotBeNull();
            }
            if (m.MovieKeywords.Count > 0)
            {
                m.MovieKeywords[0].Keyword.Should().NotBeNull();
            }
        }
예제 #3
0
        private void checkDuplicated(ShowTimeCreateDto dto, int exceptId = 0)
        {
            Movie           movie     = movieRepository.FindById(dto.MovieId);
            List <ShowTime> showTimes = GetByRoomId(dto.RoomId);
            DateTime        time      = dateTimeUtils.Parse(dto.Time);

            ShowTime dupplicated = showTimes.Where(s => {
                var start      = s.Time;
                var end        = start.AddMinutes(s.Movie.Length);
                bool isBetween = start <= time && time <= end;
                return(s.Id != exceptId && isBetween);
            }).FirstOrDefault();

            if (dupplicated != null)
            {
                DateTime dupEnd = dupplicated.Time.AddMinutes(dupplicated.Movie.Length);
                throw new Exception("Room is not available until " + dupEnd.ToString(dateTimeUtils.FORMAT));
            }
        }
예제 #4
0
 public Movie GetDetail(int id)
 {
     return(repository.FindById(id));
 }