Advertisement
Guest User

Untitled

a guest
Jan 14th, 2016
89
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 27.98 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Web;
  5.  
  6. namespace MovieCatalogWebAPI.Models
  7. {
  8. public class MoviesRepository : IMoviesRepository
  9. {
  10. //MovieDatabaseEntities db = new MovieDatabaseEntities();
  11. //private List<Movie> movies = new List<Movie>();
  12. //{
  13. // new Movie{MovieID = 1, Movie_Name = "Film1", File_Name = "F1", LikeOrDislike = "Favourite", Path = "AnyPath"},
  14. // new Movie{MovieID = 2, Movie_Name = "Film2", File_Name = "F2", LikeOrDislike = "Hated", Path = "AnyPath1"},
  15. // new Movie{MovieID = 3, Movie_Name = "Film3", File_Name = "F3", LikeOrDislike = "", Path = "AnyPath2"}
  16. //};
  17.  
  18. #region Convert Functions
  19.  
  20. /// <summary>
  21. /// Converts MainMovieList element into Movie element
  22. /// </summary>
  23. /// <param name="mml">MainMovieList element that will be converted</param>
  24. /// <param name="UserID">Current user id</param>
  25. /// <returns>Convertion result (Movie element)</returns>
  26. public Movie ConvertMainMovieListToMovie(MainMovieList mml, int UserID)
  27. {
  28. MovieDatabaseEntities db = new MovieDatabaseEntities();
  29. List<Movie> list = new List<Movie>();
  30.  
  31. //if the MainMovieList was in database && user exists
  32. foreach (Favourite_Hated m in db.Favourite_Hated)
  33. {
  34. if (m.UserID == UserID)
  35. {
  36. if (m.FilmID == mml.ID)
  37. {
  38. Movie mov = new Movie(m.FilmID, m.Movie_Name, mml.File_Name, m.LikeOrDislike, mml.File_Path);
  39. return mov;
  40. }
  41. }
  42. }
  43. //If the MainMovieList was not added to database
  44. Movie mov1 = new Movie(mml.ID, " ", mml.File_Name, -1, mml.File_Path);
  45.  
  46. return mov1;
  47. }
  48.  
  49. /// <summary>
  50. /// Converts Movie element to MainMovieList element
  51. /// </summary>
  52. /// <param name="mov">Movie element that will be converted</param>
  53. /// <param name="UserID">Current User's id</param>
  54. /// <returns>Convertion result (MainMovieList element)</returns>
  55. public MainMovieList ConvertMovieToMainMovieList(Movie mov, int UserID)
  56. {
  57. MovieDatabaseEntities db = new MovieDatabaseEntities();
  58. MainMovieList mml = new MainMovieList();
  59. mml.ID = mov.MovieID;
  60. mml.File_Name = mov.File_Name;
  61. mml.File_Path = mov.Path;
  62.  
  63. return mml;
  64. }
  65.  
  66. /// <summary>
  67. /// Converts Movie element to Favourite_Hated element
  68. /// </summary>
  69. /// <param name="mov">Movie element that will be converted</param>
  70. /// <param name="UserID">Current User's id</param>
  71. /// <returns>Convertion result (Favourite_Hated element)</returns>
  72. public Favourite_Hated ConvertMovieToFavourite_Hated(Movie mov, int UserID)
  73. {
  74. MovieDatabaseEntities db = new MovieDatabaseEntities();
  75. Favourite_Hated fh = new Favourite_Hated();
  76. fh.FilmID = mov.MovieID;
  77. fh.UserID = UserID;
  78. fh.LikeOrDislike = mov.LikeOrDislike == "Favourite" ? 1 : (mov.LikeOrDislike == "Hated" ? 0 : -1);
  79. fh.Movie_Name = mov.Movie_Name;
  80.  
  81. return fh;
  82. }
  83.  
  84. #endregion
  85.  
  86. #region PUT functions
  87.  
  88. /// <summary>
  89. /// Adds a movie to database
  90. /// </summary>
  91. /// <param name="movie">movie that should be added</param>
  92. /// <param name="UserID">Current user ID</param>
  93. public void PutMovie(Movie movie, int UserID)
  94. {
  95. MovieDatabaseEntities db = new MovieDatabaseEntities();
  96.  
  97. MainMovieList m = new MainMovieList();
  98. Favourite_Hated fh = new Favourite_Hated();
  99.  
  100. m = ConvertMovieToMainMovieList(movie, UserID);
  101. fh = ConvertMovieToFavourite_Hated(movie, UserID);
  102. db.MainMovieList.Add(m);
  103. db.Favourite_Hated.Add(fh);
  104.  
  105. db.SaveChanges();
  106. }
  107.  
  108. /// <summary>
  109. /// Adds Movie to playlist
  110. /// </summary>
  111. /// <param name="movID">ID of movie that will be added</param>
  112. /// <param name="UserID">User that adds movie</param>
  113. /// <param name="plID">ID of playlist to which movie will be added</param>
  114. public void PutMovieToPlaylist(int movID, int UserID, int plID)
  115. {
  116. MovieDatabaseEntities db = new MovieDatabaseEntities();
  117. Playlist MyPlaylist = new Playlist();
  118. MyPlaylist.FilmID = movID;
  119. MyPlaylist.PlaylistID = plID;
  120. MyPlaylist.UserID = UserID;
  121.  
  122. db.Playlist.Add(MyPlaylist);
  123.  
  124. db.SaveChanges();
  125. }
  126.  
  127. /// <summary>
  128. /// Add new playlist to List_Of_Playlists
  129. /// </summary>
  130. /// <param name="username">Name of user that adds a playlist</param>
  131. public void PutPlaylist(String username)
  132. {
  133. MovieDatabaseEntities db = new MovieDatabaseEntities();
  134. var user = db.Users.SingleOrDefault(o => o.Username== username);
  135. var i = user.Number_Of_Playlists;
  136. user.Number_Of_Playlists++;
  137. List_Of_Playlists playlist = new List_Of_Playlists();
  138.  
  139. while (true)
  140. {
  141. var pl = db.List_Of_Playlists.SingleOrDefault(o => o.ID == i + 1 && o.UserID == user.UserID);
  142. if (pl != null)
  143. {
  144. i++;
  145. }
  146. else
  147. {
  148. break;
  149. }
  150. }
  151.  
  152. playlist.ID = i + 1;
  153. playlist.UserID = user.UserID;
  154. playlist.Playlist_Name = "Playlist" + playlist.ID;
  155.  
  156. db.List_Of_Playlists.Add(playlist);
  157. db.SaveChanges();
  158. }
  159.  
  160. #endregion
  161.  
  162. #region DELETE functions
  163.  
  164. /// <summary>
  165. /// Removes a movie from database
  166. /// </summary>
  167. /// <param name="id">id of removed movie</param>
  168. /// <returns>true if succed or false if not</returns>
  169. public bool DeleteMovie(int id)
  170. {
  171. MovieDatabaseEntities db = new MovieDatabaseEntities();
  172. var deletedMML = db.MainMovieList.FirstOrDefault(p => p.ID == id);
  173. if (deletedMML == null)
  174. return false;
  175. else
  176. {
  177. DeleteMovieFromAllFavourite_Hated(id);
  178. DeleteMovieFromAllPlaylists(id);
  179. db.MainMovieList.Remove(deletedMML);
  180.  
  181. db.SaveChanges();
  182. }
  183. return true;
  184. }
  185.  
  186. /// <summary>
  187. /// Remove playlist for user
  188. /// </summary>
  189. /// <param name="plID">ID of playlist that will be removed</param>
  190. /// <param name="usrID">ID of user that have this playlist</param>
  191. public void DeletePlaylist(int plID, int usrID)
  192. {
  193. MovieDatabaseEntities db = new MovieDatabaseEntities();
  194. foreach (Playlist pl in db.Playlist)
  195. {
  196. if (pl.PlaylistID == plID && pl.UserID == usrID)
  197. db.Playlist.Remove(pl);
  198. }
  199.  
  200. foreach (List_Of_Playlists lop in db.List_Of_Playlists)
  201. {
  202. if (lop.ID == plID && lop.UserID == usrID)
  203. {
  204. db.List_Of_Playlists.Remove(lop);
  205. DecreseNumberOfPlaylistForUser(usrID);
  206. }
  207. }
  208. db.SaveChanges();
  209. }
  210.  
  211. /// <summary>
  212. /// removes movie with given id from all playlists
  213. /// </summary>
  214. /// <param name="id">ID of movie that will be deleted</param>
  215. public void DeleteMovieFromAllPlaylists(int id)
  216. {
  217. MovieDatabaseEntities db = new MovieDatabaseEntities();
  218. foreach (Playlist pl in db.Playlist)
  219. {
  220. if (pl.FilmID == id)
  221. {
  222. db.Playlist.Remove(pl);
  223. }
  224. }
  225. }
  226.  
  227. /// <summary>
  228. /// removes movie with given id from Favourite_Hated
  229. /// </summary>
  230. /// <param name="id">ID of movie that will be deleted</param>
  231. public void DeleteMovieFromAllFavourite_Hated(int id)
  232. {
  233. MovieDatabaseEntities db = new MovieDatabaseEntities();
  234. foreach (Favourite_Hated fh in db.Favourite_Hated)
  235. {
  236. if (fh.FilmID == id)
  237. {
  238. db.Favourite_Hated.Remove(fh);
  239. }
  240. }
  241. }
  242.  
  243. /// <summary>
  244. /// Removes the movie from given playlist
  245. /// </summary>
  246. /// <param name="movID">ID of movie that will be removed from playlist</param>
  247. /// <param name="UserID">ID of user that removes movie from playlist</param>
  248. /// <param name="plID">ID of playlist from which the movie will be removed</param>
  249. public void DeleteMovieFromPlaylist(int movID, int UserID, int plID)
  250. {
  251. MovieDatabaseEntities db = new MovieDatabaseEntities();
  252. foreach (var mov in db.Playlist)
  253. {
  254. if (mov.ID == movID && mov.PlaylistID == plID && mov.UserID == UserID)
  255. {
  256. db.Playlist.Remove(mov);
  257.  
  258. db.SaveChanges();
  259. }
  260. }
  261. }
  262.  
  263. #endregion
  264.  
  265. #region GET functions
  266.  
  267. /// <summary>
  268. /// Gets movie with described id
  269. /// </summary>
  270. /// <param name="id">id of searched movie</param>
  271. /// <returns>Movie that is searched</returns>
  272. public Favourite_HatedObject GetMovie_FromFavouriteHated_ById_ForUser(int id, int UserID)
  273. {
  274. MovieDatabaseEntities db = new MovieDatabaseEntities();
  275.  
  276. List<Favourite_HatedObject> list = new List<Favourite_HatedObject>();
  277.  
  278. list = GetAllMovies_FromFavouriteHated_ForUser(UserID);
  279.  
  280. foreach (Favourite_HatedObject mov in list)
  281. {
  282. if (mov.FilmID == id)
  283. return mov;
  284. }
  285.  
  286. return null;
  287. }
  288.  
  289. /// <summary>
  290. /// Gets movie with MovieID = id
  291. /// </summary>
  292. /// <param name="id">id of searched movie</param>
  293. /// <returns>requested Movie file</returns>
  294. public MainMovieListObject GetMovie_FromMainMovieList_ById(int id)
  295. {
  296. List<MainMovieListObject> list = new List<MainMovieListObject>();
  297. list = GetAllMovies_FromMainMovieList();
  298.  
  299. foreach (MainMovieListObject mov in list)
  300. {
  301. if (mov.ID == id)
  302. return mov;
  303. }
  304. return null;
  305. }
  306.  
  307. /// <summary>
  308. /// Gets the list of all movies from database
  309. /// </summary>
  310. /// <returns>returns list of all movies from database (MainMovieList element)</returns>
  311. public List<MainMovieListObject> GetAllMovies_FromMainMovieList()
  312. {
  313. MovieDatabaseEntities db = new MovieDatabaseEntities();
  314. List<MainMovieListObject> movies = new List<MainMovieListObject>();
  315.  
  316. var movieQuery = (from mml in db.MainMovieList
  317.  
  318. select new MainMovieListObject
  319. {
  320. ID = mml.ID,
  321. File_Name = mml.File_Name,
  322. File_Path = mml.File_Name,
  323. original_title = mml.original_title,
  324. budget = mml.budget,
  325. movie_id = mml.movie_id,
  326. imdb_id = mml.imdb_id,
  327. overview = mml.overview,
  328. popularity = mml.popularity,
  329. poster_path = mml.poster_path,
  330. release_date = mml.release_date,
  331. runtime = mml.runtime,
  332. vote_count = mml.vote_count,
  333. genre = mml.genre,
  334.  
  335. }).ToList();
  336.  
  337.  
  338. return movieQuery;
  339. }
  340.  
  341. /// <summary>
  342. /// Gets all movies for given user
  343. /// </summary>
  344. /// <param name="UserID">User's ID</param>
  345. /// <returns>returns list of movies of given user</returns>
  346. public List<Favourite_HatedObject> GetAllMovies_FromFavouriteHated_ForUser(int UserID)
  347. {
  348. MovieDatabaseEntities db = new MovieDatabaseEntities();
  349.  
  350. var movieQuery = (from mml in db.MainMovieList
  351. join fh in db.Favourite_Hated on new { ID = mml.ID } equals new { ID = fh.FilmID } into fh_join
  352. from fh in fh_join.DefaultIfEmpty()
  353. where fh.UserID == UserID
  354. select new Favourite_HatedObject
  355. {
  356. FilmID = mml.ID,
  357. UserID = UserID,
  358. LikeOrDislike = (fh.LikeOrDislike == 1 ? "Favourite" : (fh.LikeOrDislike == 0 ? "Hated" : "")),
  359. MovieName = fh.Movie_Name
  360. }).ToList();
  361.  
  362. return movieQuery;
  363. }
  364.  
  365. /// <summary>
  366. /// Gets list of MainMovieList elements (movies) for given user
  367. /// </summary>
  368. /// <param name="userid">ID of user whose movies we want to get</param>
  369. /// <returns>List of movies for user (MainMovieList element)</returns>
  370. public List<MainMovieListObject> GetAllMovies_FromMainMovieList_ForUser(int userid)
  371. {
  372. MovieDatabaseEntities db = new MovieDatabaseEntities();
  373.  
  374. var movieList = (from mml in db.MainMovieList
  375. join fh in db.Favourite_Hated on new { ID = mml.ID } equals new { ID = fh.FilmID } into fh_join
  376. from fh in fh_join.DefaultIfEmpty()
  377. where fh.UserID == userid
  378. select new MainMovieListObject
  379. {
  380. ID = mml.ID,
  381. File_Name = mml.File_Name,
  382. File_Path = mml.File_Path,
  383. original_title = mml.original_title,
  384. budget = (int)mml.budget,
  385. movie_id = (int)mml.movie_id,
  386. imdb_id = mml.imdb_id,
  387. overview = mml.overview,
  388. popularity = (int)mml.popularity,
  389. poster_path = mml.poster_path,
  390. release_date = mml.release_date,
  391. runtime = mml.runtime,
  392. vote_count = (int)mml.vote_count,
  393. genre = mml.genre
  394. }).ToList();
  395.  
  396. return movieList;
  397. }
  398.  
  399. /// <summary>
  400. /// Gets all playlists
  401. /// </summary>
  402. /// <returns>List of playlists</returns>
  403. public List<List_Of_PlaylistsObject> GetAllPlaylists()
  404. {
  405. MovieDatabaseEntities db = new MovieDatabaseEntities();
  406.  
  407. var playlistQuery = (from lop in db.List_Of_Playlists
  408.  
  409. select new List_Of_PlaylistsObject
  410. {
  411. ID = lop.ID,
  412. UserID = lop.UserID,
  413. PlaylistName = lop.Playlist_Name
  414. }).ToList();
  415.  
  416. return playlistQuery;
  417.  
  418. }
  419.  
  420. /// <summary>
  421. /// Gets all playlists of given user
  422. /// </summary>
  423. /// <param name="userid">ID of user whose playlists we want to get</param>
  424. /// <returns>List of user's playlists</returns>
  425. public List<List_Of_PlaylistsObject> GetAllPlaylists_ForUser(int userid)
  426. {
  427. MovieDatabaseEntities db = new MovieDatabaseEntities();
  428.  
  429. List<List_Of_PlaylistsObject> movies = new List<List_Of_PlaylistsObject>();
  430.  
  431. var playlistQuery = (from lop in db.List_Of_Playlists
  432. where lop.UserID == userid
  433. select new List_Of_PlaylistsObject
  434. {
  435. ID = lop.ID,
  436. UserID = lop.UserID,
  437. PlaylistName = lop.Playlist_Name
  438. }).ToList();
  439.  
  440. return playlistQuery;
  441. }
  442.  
  443. //I am not sure about type of output (we don't have info about likeordislike and user)
  444. /// <summary>
  445. /// Gets movies from playlist with given id
  446. /// </summary>
  447. /// <param name="playlistid">ID of playlist from which we will get movies</param>
  448. /// <returns>List of movies from playlists</returns>
  449. public List<MainMovieListObject> GetMovies_FromPlaylist_ByPlaylistID(int playlistid, int userid)
  450. {
  451. MovieDatabaseEntities db = new MovieDatabaseEntities();
  452.  
  453. List<MainMovieListObject> movies = new List<MainMovieListObject>();
  454.  
  455. var playlistQuery = (from pl in db.Playlist
  456. where pl.PlaylistID == playlistid & pl.UserID == userid
  457. select new PlaylistObject
  458. {
  459. ID = pl.ID,
  460. UserID = pl.UserID,
  461. FilmID = pl.FilmID,
  462. PlaylistID = pl.PlaylistID
  463. }).ToList();
  464.  
  465. foreach(PlaylistObject pl in playlistQuery)
  466. {
  467. movies.Add(GetMovie_FromMainMovieList_ById(pl.FilmID));
  468. }
  469. return movies;
  470. }
  471.  
  472. /// <summary>
  473. /// returns playlist with given id for given user
  474. /// </summary>
  475. /// <param name="playlistid">ID of playist that is searched</param>
  476. /// <param name="userid">ID of user that search his playlist</param>
  477. /// <returns>Playlists for given id and user</returns>
  478. public List_Of_PlaylistsObject GetPlaylist_ByID_ForUser(int playlistid, int userid)
  479. {
  480. List<List_Of_PlaylistsObject> list = GetAllPlaylists_ForUser(userid);
  481. foreach(List_Of_PlaylistsObject lop in list)
  482. {
  483. if (lop.ID == playlistid)
  484. return lop;
  485. }
  486. return null;
  487. }
  488.  
  489. /// <summary>
  490. /// Gets info about user
  491. /// </summary>
  492. /// <param name="username">Name of searched user</param>
  493. /// <returns>Info about user</returns>
  494. public UserObject GetUser_ByUserName(String username)
  495. {
  496. MovieDatabaseEntities db = new MovieDatabaseEntities();
  497.  
  498. Users user = db.Users.SingleOrDefault(usr => usr.Username == username);
  499. int id = user.UserID;
  500. String name = user.Username;
  501. int numberOfPlaylists = user.Number_Of_Playlists;
  502.  
  503. UserObject UserOutput = new UserObject(id, name, numberOfPlaylists);
  504. //{
  505. // UserID = user.UserID,
  506. // UserName = user.Username,
  507. // Number_Of_Playlists = user.Number_Of_Playlists
  508. // };
  509.  
  510. return UserOutput;
  511. }
  512.  
  513. /// <summary>
  514. /// Get information to be displayed in dataGridView1
  515. /// </summary>
  516. /// <param name="username">name of currentUser</param>
  517. /// <returns>Return list of movies to add to dataGridView1</returns>
  518. public List<Movie> GetMoviesToBeDisplayedInMainGridForUser(String username)
  519. {
  520. UserObject user = GetUser_ByUserName(username);
  521. int UserID = user.UserID;
  522.  
  523. MovieDatabaseEntities db = new MovieDatabaseEntities();
  524.  
  525. var movieList = (from mml in db.MainMovieList
  526. join fh in db.Favourite_Hated on new { ID = mml.ID } equals new { ID = fh.FilmID } into fh_join
  527. from fh in fh_join.DefaultIfEmpty()
  528. where
  529. fh.UserID == UserID
  530. select new Movie
  531. {
  532. MovieID = mml.ID,
  533. Movie_Name = fh.Movie_Name,
  534. File_Name = mml.File_Name,
  535. LikeOrDislike = fh.LikeOrDislike == 1 ? "Favourite" : (fh.LikeOrDislike == 0 ? "Hated" : ""),
  536. Path = mml.File_Path
  537. }).ToList();
  538.  
  539. return movieList;
  540. }
  541.  
  542. /// <summary>
  543. /// Validate if a user exists in the database and if the password is correct
  544. /// </summary>
  545. /// <param name="username">User name given in the textbox</param>
  546. /// <param name="password">Password of user given in the textbox</param>
  547. /// <returns>True if succeded, false if failed</returns>
  548. public bool GetLoginValidation(String username, String password)
  549. {
  550. bool validation = false;
  551.  
  552. // Code for validation from database
  553. MovieDatabaseEntities db = new MovieDatabaseEntities();
  554. foreach (var user in db.Users)
  555. {
  556. if (user.Username == username && user.Password == password)
  557. {
  558. validation = true;
  559. }
  560. }
  561. return validation;
  562. }
  563.  
  564. /// <summary>
  565. /// Gets movie with given file name
  566. /// </summary>
  567. /// <param name="moviename">File_Name of movie that we want to get</param>
  568. /// <returns></returns>
  569. public MainMovieListObject GetMovieByFile_Name(String moviename)
  570. {
  571. List<MainMovieListObject> list = new List<MainMovieListObject>();
  572. list = GetAllMovies_FromMainMovieList();
  573.  
  574. foreach (MainMovieListObject mov in list)
  575. {
  576. if (mov.File_Name == moviename)
  577. return mov;
  578. }
  579. return null;
  580. }
  581.  
  582. /// <summary>
  583. /// Check if poster_path is not null
  584. /// </summary>
  585. /// <param name="path">path of file we want to check</param>
  586. /// <returns>true if movie has poster_path or false if not</returns>
  587. public bool GetIfPosterPathIsNotNull(String path)
  588. {
  589. MovieDatabaseEntities db = new MovieDatabaseEntities();
  590. var result = db.MainMovieList.SingleOrDefault(o => o.File_Path == path);
  591. if (result.poster_path != null)
  592. return true;
  593. else
  594. return false;
  595. }
  596.  
  597. #endregion
  598.  
  599. #region UPDATE functions
  600.  
  601. /// <summary>
  602. /// Updates Movie's name for given user
  603. /// </summary>
  604. /// <param name="movID">ID of movie that will have name changed</param>
  605. /// <param name="newMovieName">new name of Movie</param>
  606. /// <param name="UserID">ID of user that want to change name of movie</param>
  607. /// <returns>true if operation succeed or false if it failed</returns>
  608. public bool UpdateMovieName(int movID, String newMovieName, int UserID)
  609. {
  610. MovieDatabaseEntities db = new MovieDatabaseEntities();
  611. Favourite_Hated movie = new Favourite_Hated();
  612.  
  613. if (movID <= 0)
  614. {
  615. Console.WriteLine("Movie's ID: ", "Movie's ID have to be greater than 0");
  616. return false;
  617. }
  618.  
  619.  
  620. movie = db.Favourite_Hated.FirstOrDefault(p => p.FilmID == movID && p.UserID == UserID);
  621. if (movID == 0)
  622. {
  623. Console.WriteLine("No such movie: ", "There is no movie with ID " + movID + " for user with ID " + UserID + "!");
  624. return false;
  625. }
  626.  
  627. movie.Movie_Name = newMovieName;
  628. db.SaveChanges();
  629. return true;
  630. }
  631.  
  632. /// <summary>
  633. /// Updates Playlist's name for given user
  634. /// </summary>
  635. /// <param name="movID">ID of playlist that will have name changed</param>
  636. /// <param name="newMovieName">new name of Playlist</param>
  637. /// <param name="UserID">ID of user that want to change name of playlist</param>
  638. /// <returns>true if operation succeed or false if it failed</returns>
  639. public bool UpdatePlaylistName(int plID, String newPlaylistName, int UserID)
  640. {
  641. MovieDatabaseEntities db = new MovieDatabaseEntities();
  642. List_Of_Playlists playlist = new List_Of_Playlists();
  643.  
  644. if (plID <= 0)
  645. {
  646. Console.WriteLine("Playlist's ID: ", "Playlist's ID have to be greater than 0");
  647. return false;
  648. }
  649.  
  650.  
  651. playlist = db.List_Of_Playlists.FirstOrDefault(p => p.ID == plID && p.UserID == UserID);
  652. if (playlist == null)
  653. {
  654. Console.WriteLine("No such playlist: ", "There is no playlist with ID " + plID + " for user with ID " + UserID + "!");
  655. return false;
  656. }
  657.  
  658. playlist.Playlist_Name = newPlaylistName;
  659. db.SaveChanges();
  660. return true;
  661. }
  662.  
  663. /// <summary>
  664. /// Changes LikeOrDislike state in Favourite_Hated
  665. /// </summary>
  666. /// <param name="id">Id of movie that will have state changed</param>
  667. /// <param name="UserID">ID of user that will have changed stated of movie</param>
  668. /// <param name="state">State to which it will be changed LikeOrDislike parameter</param>
  669. public void UpdateToFavouriteHated(int id, int UserID, int state)
  670. {
  671. MovieDatabaseEntities db = new MovieDatabaseEntities();
  672. foreach (Favourite_Hated fh in db.Favourite_Hated)
  673. {
  674. if (fh.FilmID == id && fh.UserID == UserID)
  675. {
  676. fh.LikeOrDislike = state;
  677. }
  678. db.SaveChanges();
  679. }
  680. }
  681.  
  682. /// <summary>
  683. /// Changes file_path of the movie
  684. /// </summary>
  685. /// <param name="newpath">New path that will be inserted in place of previous one</param>
  686. /// <param name="moviename">File_Name of movie that will have changed path</param>
  687. public void UpdateMoviePath(String newpath , String moviename)
  688. {
  689. MovieDatabaseEntities db = new MovieDatabaseEntities();
  690. var result = db.MainMovieList.SingleOrDefault(o => o.File_Name == moviename);
  691.  
  692. result.File_Path = newpath;
  693. db.SaveChanges();
  694. }
  695.  
  696. #endregion
  697.  
  698. #region Additional private functions
  699.  
  700. /// <summary>
  701. /// decrease user's number of playlist value
  702. /// </summary>
  703. /// <param name="userID">ID of user that will have decreased number of playlists</param>
  704. public void DecreseNumberOfPlaylistForUser(int userID)
  705. {
  706. MovieDatabaseEntities db = new MovieDatabaseEntities();
  707.  
  708. foreach (var usr in db.Users)
  709. if (usr.UserID == userID)
  710. usr.Number_Of_Playlists--;
  711. db.SaveChanges();
  712. }
  713.  
  714. #endregion
  715. }
  716. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement