Sonarr/NzbDrone.Web/Controllers/SeriesController.cs

100 lines
3.0 KiB
C#
Raw Normal View History

2010-09-23 03:19:47 +00:00
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using NzbDrone.Core.Providers;
2010-09-23 03:19:47 +00:00
namespace NzbDrone.Web.Controllers
{
[HandleError]
2010-09-23 03:19:47 +00:00
public class SeriesController : Controller
{
private readonly ISeriesProvider _seriesProvider;
2010-10-05 06:21:18 +00:00
private readonly IEpisodeProvider _episodeProvider;
private readonly ISyncProvider _syncProvider;
2010-09-23 03:19:47 +00:00
//
// GET: /Series/
public SeriesController(ISyncProvider syncProvider, ISeriesProvider seriesProvider, IEpisodeProvider episodeProvider)
2010-09-23 03:19:47 +00:00
{
_seriesProvider = seriesProvider;
2010-10-05 06:21:18 +00:00
_episodeProvider = episodeProvider;
_syncProvider = syncProvider;
2010-09-23 03:19:47 +00:00
}
public ActionResult Index()
{
ViewData.Model = _seriesProvider.GetAllSeries().ToList();
2010-09-23 03:19:47 +00:00
return View();
}
public ActionResult Sync()
{
_syncProvider.BeginSyncUnmappedFolders();
2010-09-23 03:19:47 +00:00
return RedirectToAction("Index");
}
2010-10-02 19:01:43 +00:00
public ActionResult UnMapped()
{
return View(_seriesProvider.GetUnmappedFolders());
}
2010-10-05 06:21:18 +00:00
public ActionResult LoadEpisodes(int seriesId)
2010-09-23 03:19:47 +00:00
{
_episodeProvider.RefreshEpisodeInfo(seriesId);
2010-10-05 06:21:18 +00:00
return RedirectToAction("Details", new
2010-09-23 03:19:47 +00:00
{
2010-10-05 06:21:18 +00:00
seriesId = seriesId
});
2010-09-23 03:19:47 +00:00
}
public JsonResult MediaDetect()
{
Core.Providers.IMediaDiscoveryProvider disco = new Core.Providers.MediaDiscoveryProvider();
return Json(new { Discovered = disco.DiscoveredMedia }, JsonRequestBehavior.AllowGet);
}
2010-10-08 05:50:01 +00:00
public JsonResult LightUpMedia()
{
Core.Providers.IMediaDiscoveryProvider disco = new Core.Providers.MediaDiscoveryProvider();
IMediaProvider p = disco.Providers[0];
return Json(new { ID = 0, HTML = "<span class='MediaRenderer XBMC'><span class='Play'>Play</span><span class='Pause'>Pause</span><span class='Stop'>Stop</span></span>" }, JsonRequestBehavior.AllowGet);
}
public JsonResult ControlMedia()
{
Core.Providers.IMediaDiscoveryProvider disco = new Core.Providers.MediaDiscoveryProvider();
IMediaProvider p = disco.Providers[0];
string action = Request["Action"];
switch (action)
{
case "Play":
p.Play();
break;
case "Pause":
p.Pause();
break;
case "Stop":
p.Stop();
break;
default:
break;
}
return Json(new { Success = true }, JsonRequestBehavior.AllowGet);
2010-10-08 05:50:01 +00:00
}
2010-09-23 03:19:47 +00:00
//
2010-10-05 06:21:18 +00:00
// GET: /Series/Details/5
2010-09-23 03:19:47 +00:00
2010-10-05 06:21:18 +00:00
public ActionResult Details(int seriesId)
2010-09-23 03:19:47 +00:00
{
2010-10-05 06:21:18 +00:00
return View(_seriesProvider.GetSeries(seriesId));
2010-09-23 03:19:47 +00:00
}
}
}