added sorting for series recordings

This commit is contained in:
Luke Pulverenti
2014-01-11 18:07:56 -05:00
parent 57a2a30989
commit 2a444a70e5
10 changed files with 341 additions and 240 deletions

View File

@@ -502,8 +502,8 @@ namespace MediaBrowser.Server.Implementations.LiveTv
_channelIdList = list.Select(i => i.Id).ToList();
progress.Report(15);
numComplete = 0;
var programs = new List<LiveTvProgram>();
numComplete = 0;
var programs = new List<LiveTvProgram>();
foreach (var item in list)
{
@@ -776,6 +776,19 @@ namespace MediaBrowser.Server.Implementations.LiveTv
var timers = await service.GetSeriesTimersAsync(cancellationToken).ConfigureAwait(false);
if (string.Equals(query.SortBy, "Priority", StringComparison.OrdinalIgnoreCase))
{
timers = query.SortOrder == SortOrder.Descending ?
timers.OrderBy(i => i.Priority).ThenByDescending(i => i.Name) :
timers.OrderByDescending(i => i.Priority).ThenBy(i => i.Name);
}
else
{
timers = query.SortOrder == SortOrder.Descending ?
timers.OrderByDescending(i => i.Name) :
timers.OrderBy(i => i.Name);
}
var returnArray = timers
.Select(i =>
{
@@ -791,7 +804,6 @@ namespace MediaBrowser.Server.Implementations.LiveTv
return _tvDtoService.GetSeriesTimerInfoDto(i, service, channelName);
})
.OrderByDescending(i => i.StartDate)
.ToArray();
return new QueryResult<SeriesTimerInfoDto>

View File

@@ -800,5 +800,29 @@ namespace MediaBrowser.Server.Implementations.Session
session.AdditionalUsers.Remove(user);
}
}
/// <summary>
/// Authenticates the new session.
/// </summary>
/// <param name="user">The user.</param>
/// <param name="password">The password.</param>
/// <param name="clientType">Type of the client.</param>
/// <param name="appVersion">The application version.</param>
/// <param name="deviceId">The device identifier.</param>
/// <param name="deviceName">Name of the device.</param>
/// <param name="remoteEndPoint">The remote end point.</param>
/// <returns>Task{SessionInfo}.</returns>
/// <exception cref="UnauthorizedAccessException"></exception>
public async Task<SessionInfo> AuthenticateNewSession(User user, string password, string clientType, string appVersion, string deviceId, string deviceName, string remoteEndPoint)
{
var result = await _userManager.AuthenticateUser(user, password).ConfigureAwait(false);
if (!result)
{
throw new UnauthorizedAccessException("Invalid user or password entered.");
}
return await LogSessionActivity(clientType, appVersion, deviceId, deviceName, remoteEndPoint, user).ConfigureAwait(false);
}
}
}