/// <summary> /// Use to make sure the user files are in line. /// </summary> /// <param name="UID"></param> public async static Task SyncUserFiles(string UID, Client socket, FileHandler.platformType platform = FileHandler.platformType.Windows) { List <Movie> listOfMoviesDB = await MongoInteraction.AllMoviesByUser(UID, socket); FileHandler tmpFileHandler = new FileHandler(platform); List <Movie> listOfMoviesXML = tmpFileHandler.allMoviesInXml(); //The user has no entries on the DB if (listOfMoviesDB.Count == 0) { if (listOfMoviesXML.Count == 0) { //The user doesn't have any movies in their XML either. return; } else { await AddMoviesDB(listOfMoviesXML, UID, socket); } } //The user has no entries in their XML else if (listOfMoviesXML.Count == 0) { if (listOfMoviesDB.Count == 0) { //The user doesn't have any movies in their DB. return; } else { TMDBHelper helper = new TMDBHelper(); FileHandler handler = new FileHandler(platform); List <Movie> toAdd = new List <Movie>(); handler.addMovies(listOfMoviesDB); } } else { List <Movie> dbBalance = FindDifferences(listOfMoviesDB, listOfMoviesXML); if (dbBalance.Count != 0) { await AddMoviesDB(dbBalance, UID, socket); } List <Movie> xmlBalance = FindDifferences(listOfMoviesXML, listOfMoviesDB); if (xmlBalance.Count != 0) { AddMoviesXML(xmlBalance, platform); } } }
public async Task <ActionResult <Media> > PostMedia(MediaDTO dto) { Media media = TMDBHelper.getMediaById(dto.media_id, dto.media_type); _context.Media.Add(media); try { await _context.SaveChangesAsync(); } catch (DbUpdateException) { if (MediaExists(media.MediaType, media.MediaId)) { return(Conflict()); } else { throw; } } return(CreatedAtAction("GetMedia", new { media_type = media.MediaType, media_id = media.MediaId }, media)); }