/// <summary> /// Adds a movie to database taking into consideration all possible exceptions /// </summary> /// <param name="FileName">Name of the movie filename</param> public static void AddMovie(string FilePath) { //Adds a movie id, movie name and movie path to database try { string FileName = System.IO.Path.GetFileNameWithoutExtension(FilePath); MovieDatabaseEntities db = new MovieDatabaseEntities(); MainMovieList objMovie = new MainMovieList(); if (db.MainMovieLists.Any(o => o.File_Name == FileName)) { Console.WriteLine(FileName + " is already in the MainMovieList table"); } else { objMovie.File_Name = FileName; objMovie.File_Path = FilePath; db.MainMovieLists.Add(objMovie); db.SaveChanges(); } int usrId = MainApplicationWindow.getCurrentUserID(); Console.WriteLine("Current username: "******"\n"); if (db.Favourite_Hated.Any(o => o.FilmID == objMovie.ID && o.UserID == usrId)) { Console.WriteLine(FileName + " is already in the Favourite_Hated table"); } else { Console.WriteLine("Adding " + FileName + " to the Favourite_Hated table for user with id: " + usrId); User usr = new User(); var searchs = db.Users.SingleOrDefault(o => o.UserID == usrId); AddFavouriteOrHated(-1, searchs.Username, FileName); } //Jezeli nie dasz sobie rady ze stworzeniem query: stworz funckje foreach i sprawdz czy dany film ma konkretny usrname i filmid } catch (DbEntityValidationException e) { //In case of error while adding stuff to database foreach (var eve in e.EntityValidationErrors) { Console.WriteLine("Entity of type \"{0}\" in state \"{1}\" has the following validation errors:", eve.Entry.Entity.GetType().Name, eve.Entry.State); foreach (var ve in eve.ValidationErrors) { Console.WriteLine("- Property: \"{0}\", Error: \"{1}\"", ve.PropertyName, ve.ErrorMessage); } } throw; } }