Exemple #1
0
        public async Task <SenderResult> Send(ChildRequests model)
        {
            var sonarr = await SonarrSettings.GetSettingsAsync();

            if (sonarr.Enabled)
            {
                var result = await SendToSonarr(model);

                if (result != null)
                {
                    return(new SenderResult
                    {
                        Sent = true,
                        Success = true
                    });
                }
            }
            var dog = await DogNzbSettings.GetSettingsAsync();

            if (dog.Enabled)
            {
                var result = await SendToDogNzb(model, dog);

                if (!result.Failure)
                {
                    return(new SenderResult
                    {
                        Sent = true,
                        Success = true
                    });
                }
                return(new SenderResult
                {
                    Message = result.ErrorMessage
                });
            }
            var sr = await SickRageSettings.GetSettingsAsync();

            if (sr.Enabled)
            {
                var result = await SendToSickRage(model, sr);

                if (result)
                {
                    return(new SenderResult
                    {
                        Sent = true,
                        Success = true
                    });
                }
                return(new SenderResult
                {
                    Message = "Could not send to SickRage!"
                });
            }
            return(new SenderResult
            {
                Success = true
            });
        }
Exemple #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,
            });
        }
Exemple #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,
            });
        }
Exemple #4
0
        private async Task <DogNzbMovieAddResult> SendToDogNzb(FullBaseRequest model, DogNzbSettings settings)
        {
            var id = model.ImdbId;

            return(await DogNzbApi.AddMovie(settings.ApiKey, id));
        }
Exemple #5
0
 public async Task <bool> DogNzbSettings([FromBody] DogNzbSettings settings)
 {
     return(await Save(settings));
 }
Exemple #6
0
        public async Task <SenderResult> Send(ChildRequests model)
        {
            try
            {
                var sonarr = await SonarrSettings.GetSettingsAsync();

                if (sonarr.Enabled)
                {
                    var result = await SendToSonarr(model, sonarr);

                    if (result != null)
                    {
                        return(new SenderResult
                        {
                            Sent = true,
                            Success = true
                        });
                    }
                }
                var dog = await DogNzbSettings.GetSettingsAsync();

                if (dog.Enabled)
                {
                    var result = await SendToDogNzb(model, dog);

                    if (!result.Failure)
                    {
                        return(new SenderResult
                        {
                            Sent = true,
                            Success = true
                        });
                    }
                    return(new SenderResult
                    {
                        Message = result.ErrorMessage
                    });
                }
                var sr = await SickRageSettings.GetSettingsAsync();

                if (sr.Enabled)
                {
                    var result = await SendToSickRage(model, sr);

                    if (result)
                    {
                        return(new SenderResult
                        {
                            Sent = true,
                            Success = true
                        });
                    }
                    return(new SenderResult
                    {
                        Message = "Could not send to SickRage!"
                    });
                }
                return(new SenderResult
                {
                    Success = true
                });
            }
            catch (Exception e)
            {
                Logger.LogError(e, "Exception thrown when sending a movie to DVR app, added to the request queue");
                // Check if already in request queue
                var existingQueue = await _requestQueueRepository.FirstOrDefaultAsync(x => x.RequestId == model.Id);

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

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

            return(new SenderResult
            {
                Success = false,
                Message = "Something went wrong!"
            });
        }
Exemple #7
0
        private async Task <DogNzbAddResult> SendToDogNzb(ChildRequests model, DogNzbSettings settings)
        {
            var id = model.ParentRequest.TvDbId;

            return(await DogNzbApi.AddTvShow(settings.ApiKey, id.ToString()));
        }