public UserMovieDTO Rent(UserMovieDTO userMovieDto)
        {
            userMovieDto.RentEndDate = DateTime.UtcNow.AddDays(2);

            userMovieDto = _userMovieAccessor.Save(userMovieDto);

            return(userMovieDto);
        }
        public UserMovieDTO Purchase(UserMovieDTO userMovieDto)
        {
            userMovieDto.PurchaseDate = DateTime.UtcNow;
            userMovieDto.RentEndDate  = null;

            userMovieDto = _userMovieAccessor.Save(userMovieDto);

            return(userMovieDto);
        }
        public UserMovieDTO Save(UserMovieDTO dto)
        {
            var entity = Mapper.Map <UserMovie>(dto);

            _db.UserMovies.Update(entity);
            _db.SaveChanges();

            dto = Mapper.Map <UserMovieDTO>(entity);

            return(dto);
        }
        public UserMovieDTO GetUserMovie(int id, string userId)
        {
            var userMovieDto = _userMovieAccessor.GetByMovieAndUser(id, userId);

            if (userMovieDto == null)
            {
                userMovieDto = new UserMovieDTO
                {
                    MovieId = id,
                    UserId  = userId
                };
            }

            return(userMovieDto);
        }