using System; using System.Collections.Generic; using System.Linq; using System.Web; using NzbDrone.Services.Service.Repository; using Services.PetaPoco; namespace NzbDrone.Services.Service.Providers { public class SceneMappingProvider { private readonly IDatabase _database; public SceneMappingProvider(IDatabase database) { _database = database; } public IList AllLive() { return _database.Fetch(); } public IList AllPending() { return _database.Fetch(); } public void Insert(SceneMapping sceneMapping) { _database.Insert(sceneMapping); } public void Insert(PendingSceneMapping pendingSceneMapping) { _database.Insert(pendingSceneMapping); } public void DeleteLive(string cleanTitle) { _database.Delete(cleanTitle); } public void DeletePending(string cleanTitle) { _database.Delete(cleanTitle); } public bool Promote(string cleanTitle) { try { var pendingItem = _database.Single(cleanTitle); var mapping = new SceneMapping { CleanTitle = pendingItem.CleanTitle, Id = pendingItem.Id, Title = pendingItem.Title }; _database.Insert(mapping); _database.Delete(pendingItem); } catch (Exception ex) { return false; } return true; } public bool PromoteAll() { try { var pendingItems = _database.Fetch(); foreach (var pendingItem in pendingItems) { Promote(pendingItem.Title); } } catch (Exception ex) { return false; } return true; } } }