public async Task TreatDownloadedMovie(MovieMagnet magnet)
        {
            try
            {
                await _localFileService.GenerateMovieFile(magnet);

                List <MovieMagnet> movieMagnets = new List <MovieMagnet>();

                if (magnet.HasSub)
                {
                    _logger.LogInformation("Movie {movieNumber} has downloaded sub version. Checking non-sub folder and delete it.", magnet.MovieNumber);
                    movieMagnets = _movieMagnetService.FindMovieMagnetByStatus(MagnetStatus.Finished, magnet.IdMovie);
                    foreach (MovieMagnet movieMagnet in movieMagnets)
                    {
                        await _localFileService.DeleteFolder(movieMagnet.SavePath);

                        movieMagnet.IdStatus = MagnetStatus.Archived;
                    }
                }
                movieMagnets.Add(magnet);
                _movieMagnetService.SaveMovieMagnetList(movieMagnets);

                await _qbittorrentService.DeleteTorrentAsync(magnet.Hash, false);

                Movie movie = _movieService.FindMovieById(magnet.IdMovie);
                _movieService.UpdateStatus(movie, magnet.HasSub ? MovieStatus.Finished : MovieStatus.Downloaded);
                _movieService.SaveMovie(movie);
            }
            catch (Exception ex)
            {
                _logger.LogError(ex, "Error occurred when generating the downloaded movie file - {movieNumber}", magnet.MovieNumber);
                magnet.IdStatus = MagnetStatus.InError;
                _movieMagnetService.SaveMovieMagnet(magnet);
            }
        }