Question: 1 . As a user, I shall be able to look for movie suggestions to rent. 2 . As a user, I shall be able

1. As a user, I shall be able to look for movie suggestions to rent.
2. As a user, I shall be able to look for the most rented movies.
3. As a user, I shall be able to look for the most trending movies.
4. As a user, I shall be able to search a movie using the title.
5. As a user, I shall be able to search a movie using the genre.
6. As a user, I shall be able to search for a movie using the tags.
7. As a user, I shall be able to search a movie using the artists in the movie as a keyword.
8. As a user, I shall be able to select one or multiple movies (maximum of 4 movies) to rent at the same time.
9. As a user, I shall be able to add movies to my favorites so I can re-rent them in the future.
10. As a user, I shall be able to place movies on hold if they are not available for rent yet.
11. As a user, I shall be able to place movies on hold that havent been released.
12. As a user, I have the obligation to return the movies on time or I get charged extra for every day I havent returned the movie past the due date.
13. As a user, I can re-rent the movies if they havent been placed on hold yet by someone else.
Create a movie rental System that satisfies the above user stories , you have to use C# exclusively to so so ,
You can use sql , csv files for saving the movies and users and so on
Now the Console app should go like this
It should ask signup or login , then if the user types signup in the terminal , it should ask username password and email , make sure to hard save this user since well have to use multiple users in this application
Now after signup the user is taken to the login (clear out the console ), after the user successfully logs in the user will be displayed 3 lists suggested movies , most rented movies , most trending movies , after that a line is displayed that says
"Please enter command"
Here the user can type many words such as :
1. search
which enables user to search for movies according to the user stories above
2. rent "movie name" which allows user to rent a movie , this will make this movie unavailable to any new user that signs up or logs in
3. place on hold "Movie name" allows user to place a movie on hold and once placed on hold disallows other users to rent or place that movie on hold
4.add to favorites "movie name " adds that to a favorite movie list thats only for thats user
5. show favorites : displays the favorites list
6. show rented displays currently rented movies
7. show on hold movies displays movies on hold by that user
now the user can also type rent in the please enter command line to rent a movie or after search too , so the user either selects a a movie name from the suggestions or searches for a movie and then types rent movie name
now other users are only allowed to rent that movie after this user returns that movie or removes it from place on hold
also add movies that are unreleaserd here if you try to type rent and then the unreleased movies name it should say movie unreleased can only place on hold , and when the boolean of the isUnreleased of that movie chjanged to false the user who placed it on hold can only rent it
make sure to save the movie data user data in such a way that even if i close my app the users and movie and all the on hold , fav etc still exist ,
after youre done give me the csv files or the databse files required for the codeto work and also the code itself
Class Names and Methods
User Class
rentMovie(Movie movie)
searchMovieByGenre(string title)
searchMovieByTags(string[] tags)
searchMovieByArtist(string Artists)
addMovieToFavorites(Movie movie)
placeOnHold(Movie movie)
returnMovie(Rental rental)
reRentMovie(Rental rental
)Constructor: User()
Movie Class
getDetails()
checkAvailability()
incrementRentalCount
()
Constructor: Movie()
Rental Class
Constructor: Rental()
Favorites Class (Inherits from User)
Constructor: Favorites()
Hold Class (Inherits from User)
Constructor: Hold()
Suggestion Class (Inherits from Movie)
Constructor: Suggestion()
TrendingMovies Class (Inherits from Movie)
Constructor: TrendingMovies()
Program Class
use all of the above to start

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Programming Questions!