Merge branch 'markus101'

Conflicts:
	NzbDrone.Core.Test/SeriesProviderTest.cs
	NzbDrone.Core/Providers/MediaFileProvider.cs
	NzbDrone.Core/Providers/SeriesProvider.cs
This commit is contained in:
kay.one 2011-06-16 19:48:24 -07:00
commit 3cccb5858a
21 changed files with 524 additions and 280 deletions

View file

@ -187,9 +187,16 @@ namespace NzbDrone.Web.Controllers
[HttpPost]
public JsonResult SaveRootDir(int id, string path)
{
if (String.IsNullOrWhiteSpace(path))
return new JsonResult { Data = "failed" };
try
{
_rootFolderProvider.Update(new RootDir { Id = id, Path = path });
if (id == 0)
id = _rootFolderProvider.Add(new RootDir { Path = path });
else
_rootFolderProvider.Update(new RootDir { Id = id, Path = path });
}
catch (Exception ex)
{
@ -199,30 +206,33 @@ namespace NzbDrone.Web.Controllers
return new JsonResult { Data = "failed" };
}
return new JsonResult { Data = "ok" };
return new JsonResult { Data = id };
}
public PartialViewResult AddRootDir()
{
var rootDir = new RootDir { Path = String.Empty };
var model = new RootDirModel
{
Id = 0,
Path = "",
SelectList = new SelectList(new List<string> { "" }, "")
};
var id = _rootFolderProvider.Add(rootDir);
rootDir.Id = id;
var model = new RootDirModel();
model.Id = rootDir.Id;
model.Path = rootDir.Path;
model.SelectList = new SelectList(new List<string> { rootDir.Path }, rootDir.Path);
ViewData["guid"] = Guid.NewGuid();
return PartialView("RootDir", model);
}
public ActionResult GetRootDirView(RootDir rootDir)
{
var model = new RootDirModel();
model.Id = rootDir.Id;
model.Path = rootDir.Path;
model.SelectList = new SelectList(new List<string> { rootDir.Path }, rootDir.Path);
var model = new RootDirModel
{
Id = rootDir.Id,
Path = rootDir.Path,
SelectList = new SelectList(new List<string> { rootDir.Path }, rootDir.Path)
};
ViewData["guid"] = Guid.NewGuid();
return PartialView("RootDir", model);
}

View file

@ -1,4 +1,5 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web.Mvc;
using NzbDrone.Core.Model;
@ -44,20 +45,30 @@ namespace NzbDrone.Web.Controllers
//TODO: possible subsonic bug, IQuarible causes some issues so ToList() is called
//https://github.com/subsonic/SubSonic-3.0/issues/263
var history = _historyProvider.AllItems().ToList().Select(h => new HistoryModel
{
HistoryId = h.HistoryId,
SeasonNumber = h.Episode.SeasonNumber,
EpisodeNumber = h.Episode.EpisodeNumber,
EpisodeTitle = h.Episode.Title,
EpisodeOverview = h.Episode.Overview,
SeriesTitle = h.Episode.Series.Title,
NzbTitle = h.NzbTitle,
Quality = h.Quality.ToString(),
IsProper = h.IsProper,
Date = h.Date,
Indexer = h.Indexer
});
var historyDb = _historyProvider.AllItems().ToList();
var history = new List<HistoryModel>();
foreach (var item in historyDb)
{
var episode = item.Episode;
var series = episode.Series;
history.Add(new HistoryModel
{
HistoryId = item.HistoryId,
SeasonNumber = episode.SeasonNumber,
EpisodeNumber = episode.EpisodeNumber,
EpisodeTitle = episode.Title,
EpisodeOverview = episode.Overview,
SeriesTitle = series.Title,
NzbTitle = item.NzbTitle,
Quality = item.Quality.ToString(),
IsProper = item.IsProper,
Date = item.Date,
Indexer = item.Indexer
});
}
return View(new GridModel(history));
}

View file

@ -1,4 +1,5 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web.Mvc;
using NzbDrone.Core.Providers;
@ -27,17 +28,25 @@ namespace NzbDrone.Web.Controllers
[GridAction]
public ActionResult _AjaxBindingYesterday()
{
var upcoming = _upcomingEpisodesProvider.Yesterday().Select(e => new UpcomingEpisodeModel
{
SeriesId = e.Series.SeriesId,
EpisodeId = e.EpisodeId,
SeriesName = e.Series.Title,
SeasonNumber = e.SeasonNumber,
EpisodeNumber = e.EpisodeNumber,
Title = e.Title,
Overview = e.Overview,
AirDate = e.AirDate.Add(Convert.ToDateTime(e.Series.AirTimes).TimeOfDay)
});
var upcomingDb = _upcomingEpisodesProvider.Yesterday();
var upcoming = new List<UpcomingEpisodeModel>();
foreach (var item in upcomingDb)
{
var series = item.Series;
upcoming.Add(new UpcomingEpisodeModel
{
SeriesId = series.SeriesId,
EpisodeId = item.EpisodeId,
SeriesName = series.Title,
SeasonNumber = item.SeasonNumber,
EpisodeNumber = item.EpisodeNumber,
Title = item.Title,
Overview = item.Overview,
AirDate = item.AirDate.Add(Convert.ToDateTime(series.AirTimes).TimeOfDay)
});
}
return View(new GridModel(upcoming));
}
@ -45,16 +54,25 @@ namespace NzbDrone.Web.Controllers
[GridAction]
public ActionResult _AjaxBindingToday()
{
var upcoming = _upcomingEpisodesProvider.Today().Select(e => new UpcomingEpisodeModel
{
SeriesId = e.Series.SeriesId,
SeriesName = e.Series.Title,
SeasonNumber = e.SeasonNumber,
EpisodeNumber = e.EpisodeNumber,
Title = e.Title,
Overview = e.Overview,
AirDate = e.AirDate.Add(Convert.ToDateTime(e.Series.AirTimes).TimeOfDay)
});
var upcomingDb = _upcomingEpisodesProvider.Today();
var upcoming = new List<UpcomingEpisodeModel>();
foreach (var item in upcomingDb)
{
var series = item.Series;
upcoming.Add(new UpcomingEpisodeModel
{
SeriesId = series.SeriesId,
EpisodeId = item.EpisodeId,
SeriesName = series.Title,
SeasonNumber = item.SeasonNumber,
EpisodeNumber = item.EpisodeNumber,
Title = item.Title,
Overview = item.Overview,
AirDate = item.AirDate.Add(Convert.ToDateTime(series.AirTimes).TimeOfDay)
});
}
return View(new GridModel(upcoming));
}
@ -62,16 +80,25 @@ namespace NzbDrone.Web.Controllers
[GridAction]
public ActionResult _AjaxBindingTomorrow()
{
var upcoming = _upcomingEpisodesProvider.Tomorrow().Select(e => new UpcomingEpisodeModel
var upcomingDb = _upcomingEpisodesProvider.Tomorrow();
var upcoming = new List<UpcomingEpisodeModel>();
foreach (var item in upcomingDb)
{
SeriesId = e.Series.SeriesId,
SeriesName = e.Series.Title,
SeasonNumber = e.SeasonNumber,
EpisodeNumber = e.EpisodeNumber,
Title = e.Title,
Overview = e.Overview,
AirDate = e.AirDate.Add(Convert.ToDateTime(e.Series.AirTimes).TimeOfDay)
});
var series = item.Series;
upcoming.Add(new UpcomingEpisodeModel
{
SeriesId = series.SeriesId,
EpisodeId = item.EpisodeId,
SeriesName = series.Title,
SeasonNumber = item.SeasonNumber,
EpisodeNumber = item.EpisodeNumber,
Title = item.Title,
Overview = item.Overview,
AirDate = item.AirDate.Add(Convert.ToDateTime(series.AirTimes).TimeOfDay)
});
}
return View(new GridModel(upcoming));
}
@ -79,16 +106,25 @@ namespace NzbDrone.Web.Controllers
[GridAction]
public ActionResult _AjaxBindingWeek()
{
var upcoming = _upcomingEpisodesProvider.Week().Select(e => new UpcomingEpisodeModel
{
SeriesId = e.Series.SeriesId,
SeriesName = e.Series.Title,
SeasonNumber = e.SeasonNumber,
EpisodeNumber = e.EpisodeNumber,
Title = e.Title,
Overview = e.Overview,
AirDate = e.AirDate.Add(Convert.ToDateTime(e.Series.AirTimes).TimeOfDay)
});
var upcomingDb = _upcomingEpisodesProvider.Week();
var upcoming = new List<UpcomingEpisodeModel>();
foreach (var item in upcomingDb)
{
var series = item.Series;
upcoming.Add(new UpcomingEpisodeModel
{
SeriesId = series.SeriesId,
EpisodeId = item.EpisodeId,
SeriesName = series.Title,
SeasonNumber = item.SeasonNumber,
EpisodeNumber = item.EpisodeNumber,
Title = item.Title,
Overview = item.Overview,
AirDate = item.AirDate.Add(Convert.ToDateTime(series.AirTimes).TimeOfDay)
});
}
return View(new GridModel(upcoming));
}