コード例 #1
0
        /// <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);
                }
            }
        }
コード例 #2
0
ファイル: MediaController.cs プロジェクト: ambiyu/mmt-api
        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));
        }