public IActionResult Post(RadarrWebhookPayload webhookPayload)
        {
            logger.LogTrace(new EventId(), null, webhookPayload.ToString(), null);
            logger.LogInformation(JsonConvert.SerializeObject(webhookPayload));
            switch (webhookPayload.EventType)
            {
            case "Download":
            case "Test":
                return(this.Ok(this.ProcessDownload(webhookPayload, null)));

            default:
                this.logger.LogInformation($"Request was not of type Download or Test");
                return(StatusCode(400));
            }
        }
        private QueueResult ProcessDownload(RadarrWebhookPayload importPayload, PerformContext context)
        {
            context.WriteLine(JsonConvert.SerializeObject(importPayload));
            if (importPayload.EventType == "Test")
            {
                return(new QueueResult()
                {
                    TargetFilePath = "/test/path",
                    JobId = BackgroundJob.Enqueue(() => this.downloadProcesserService.ConvertEpisode(importPayload, true, context))
                });
            }

            var path = importPayload.MovieFile.Path + "/" + importPayload.MovieFile.RelativePath;

            this.logger.LogInformation($"Received download process request title: {importPayload.Movie.Title} series: {importPayload.Movie.Id} path:{path}");

            return(new QueueResult()
            {
                TargetFilePath = importPayload.MovieFile.Path,
                JobId = BackgroundJob.Enqueue(() => this.downloadProcesserService.ConvertEpisode(importPayload, false, context))
            });
        }