Ejemplo n.º 1
0
        public async Task <MovieSenderResult> Send(RequestedModel model, string qualityId = "")
        {
            var cpSettings = await CouchPotatoSettings.GetSettingsAsync();

            var watcherSettings = await WatcherSettings.GetSettingsAsync();

            var radarrSettings = await RadarrSettings.GetSettingsAsync();

            if (cpSettings.Enabled)
            {
                return(SendToCp(model, cpSettings, string.IsNullOrEmpty(qualityId) ? cpSettings.ProfileId : qualityId));
            }

            if (watcherSettings.Enabled)
            {
                return(SendToWatcher(model, watcherSettings));
            }

            if (radarrSettings.Enabled)
            {
                return(SendToRadarr(model, radarrSettings));
            }

            return(new MovieSenderResult {
                Result = false, MovieSendingEnabled = false
            });
        }
Ejemplo n.º 2
0
        public async Task <SenderResult> Send(MovieRequests model)
        {
            var cpSettings = await CouchPotatoSettings.GetSettingsAsync();

            //var watcherSettings = await WatcherSettings.GetSettingsAsync();
            var radarrSettings = await RadarrSettings.GetSettingsAsync();

            if (radarrSettings.Enabled)
            {
                return(await SendToRadarr(model, radarrSettings));
            }

            var dogSettings = await DogNzbSettings.GetSettingsAsync();

            if (dogSettings.Enabled)
            {
                await SendToDogNzb(model, dogSettings);

                return(new SenderResult
                {
                    Success = true,
                    Sent = true,
                });
            }

            if (cpSettings.Enabled)
            {
                return(await SendToCp(model, cpSettings, cpSettings.DefaultProfileId));
            }

            //if (watcherSettings.Enabled)
            //{
            //    return SendToWatcher(model, watcherSettings);
            //}


            return(new SenderResult
            {
                Success = true,
                Sent = false,
            });
        }
Ejemplo n.º 3
0
        public async Task <SenderResult> Send(MovieRequests model)
        {
            try
            {
                var cpSettings = await CouchPotatoSettings.GetSettingsAsync();

                //var watcherSettings = await WatcherSettings.GetSettingsAsync();
                var radarrSettings = await RadarrSettings.GetSettingsAsync();

                if (radarrSettings.Enabled)
                {
                    return(await SendToRadarr(model, radarrSettings));
                }

                var dogSettings = await DogNzbSettings.GetSettingsAsync();

                if (dogSettings.Enabled)
                {
                    await SendToDogNzb(model, dogSettings);

                    return(new SenderResult
                    {
                        Success = true,
                        Sent = true,
                    });
                }

                if (cpSettings.Enabled)
                {
                    return(await SendToCp(model, cpSettings, cpSettings.DefaultProfileId));
                }
            }
            catch (Exception e)
            {
                Log.LogError(e, "Error when seing movie to DVR app, added to the request queue");

                // Check if already in request quee
                var existingQueue = await _requestQueuRepository.FirstOrDefaultAsync(x => x.RequestId == model.Id);

                if (existingQueue != null)
                {
                    existingQueue.RetryCount++;
                    existingQueue.Error = e.Message;
                    await _requestQueuRepository.SaveChangesAsync();
                }
                else
                {
                    await _requestQueuRepository.Add(new RequestQueue
                    {
                        Dts        = DateTime.UtcNow,
                        Error      = e.Message,
                        RequestId  = model.Id,
                        Type       = RequestType.Movie,
                        RetryCount = 0
                    });

                    _notificationHelper.Notify(model, NotificationType.ItemAddedToFaultQueue);
                }
            }

            return(new SenderResult
            {
                Success = true,
                Sent = false,
            });
        }