Question: 1 . As a user, I shall be able to look for movie suggestions to rent. 2 . As a user, I shall be able
As a user, I shall be able to look for movie suggestions to rent.
As a user, I shall be able to look for the most rented movies.
As a user, I shall be able to look for the most trending movies.
As a user, I shall be able to search a movie using the title.
As a user, I shall be able to search a movie using the genre.
As a user, I shall be able to search for a movie using the tags.
As a user, I shall be able to search a movie using the artists in the movie as a keyword.
As a user, I shall be able to select one or multiple movies maximum of movies to rent at the same time.
As a user, I shall be able to add movies to my favorites so I can rerent them in the future.
As a user, I shall be able to place movies on hold if they are not available for rent yet.
As a user, I shall be able to place movies on hold that havent been released.
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.
As a user, I can rerent 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 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 :
search
which enables user to search for movies according to the user stories above
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
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
add to favorites "movie name adds that to a favorite movie list thats only for thats user
show favorites : displays the favorites list
show rented displays currently rented movies
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
rentMovieMovie movie
searchMovieByGenrestring title
searchMovieByTagsstring tags
searchMovieByArtiststring Artists
addMovieToFavoritesMovie movie
placeOnHoldMovie movie
returnMovieRental rental
reRentMovieRental 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
Question Has Been Solved by an Expert!
Get step-by-step solutions from verified subject matter experts
Step: 2 Unlock
Step: 3 Unlock
