aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Controller/Entities
diff options
context:
space:
mode:
authorLuke Pulverenti <luke.pulverenti@gmail.com>2014-10-25 14:32:58 -0400
committerLuke Pulverenti <luke.pulverenti@gmail.com>2014-10-25 14:32:58 -0400
commitd74e3b2dea894a7cdc3defac418069081dd2ae22 (patch)
tree9618eea91bf12790b51eeb0138a01f1641968043 /MediaBrowser.Controller/Entities
parentc8a735bcb1ba71e9501d18b3044aa30793ff97ee (diff)
connect updates
Diffstat (limited to 'MediaBrowser.Controller/Entities')
-rw-r--r--MediaBrowser.Controller/Entities/BaseItem.cs26
-rw-r--r--MediaBrowser.Controller/Entities/Folder.cs27
-rw-r--r--MediaBrowser.Controller/Entities/User.cs2
-rw-r--r--MediaBrowser.Controller/Entities/Video.cs3
4 files changed, 32 insertions, 26 deletions
diff --git a/MediaBrowser.Controller/Entities/BaseItem.cs b/MediaBrowser.Controller/Entities/BaseItem.cs
index 3193ad091..82971ac5c 100644
--- a/MediaBrowser.Controller/Entities/BaseItem.cs
+++ b/MediaBrowser.Controller/Entities/BaseItem.cs
@@ -766,7 +766,7 @@ namespace MediaBrowser.Controller.Entities
public Task RefreshMetadata(CancellationToken cancellationToken)
{
- return RefreshMetadata(new MetadataRefreshOptions(), cancellationToken);
+ return RefreshMetadata(new MetadataRefreshOptions(new DirectoryService()), cancellationToken);
}
/// <summary>
@@ -783,8 +783,6 @@ namespace MediaBrowser.Controller.Entities
if (IsFolder || Parent != null)
{
- options.DirectoryService = options.DirectoryService ?? new DirectoryService(Logger);
-
try
{
var files = locationType != LocationType.Remote && locationType != LocationType.Virtual ?
@@ -1360,10 +1358,12 @@ namespace MediaBrowser.Controller.Entities
/// </summary>
/// <param name="user">The user.</param>
/// <param name="datePlayed">The date played.</param>
- /// <param name="userManager">The user manager.</param>
+ /// <param name="resetPosition">if set to <c>true</c> [reset position].</param>
/// <returns>Task.</returns>
/// <exception cref="System.ArgumentNullException"></exception>
- public virtual async Task MarkPlayed(User user, DateTime? datePlayed, IUserDataManager userManager)
+ public virtual async Task MarkPlayed(User user,
+ DateTime? datePlayed,
+ bool resetPosition)
{
if (user == null)
{
@@ -1372,7 +1372,7 @@ namespace MediaBrowser.Controller.Entities
var key = GetUserDataKey();
- var data = userManager.GetUserData(user.Id, key);
+ var data = UserDataManager.GetUserData(user.Id, key);
if (datePlayed.HasValue)
{
@@ -1383,20 +1383,24 @@ namespace MediaBrowser.Controller.Entities
// Ensure it's at least one
data.PlayCount = Math.Max(data.PlayCount, 1);
+ if (resetPosition)
+ {
+ data.PlaybackPositionTicks = 0;
+ }
+
data.LastPlayedDate = datePlayed ?? data.LastPlayedDate;
data.Played = true;
- await userManager.SaveUserData(user.Id, this, data, UserDataSaveReason.TogglePlayed, CancellationToken.None).ConfigureAwait(false);
+ await UserDataManager.SaveUserData(user.Id, this, data, UserDataSaveReason.TogglePlayed, CancellationToken.None).ConfigureAwait(false);
}
/// <summary>
/// Marks the unplayed.
/// </summary>
/// <param name="user">The user.</param>
- /// <param name="userManager">The user manager.</param>
/// <returns>Task.</returns>
/// <exception cref="System.ArgumentNullException"></exception>
- public virtual async Task MarkUnplayed(User user, IUserDataManager userManager)
+ public virtual async Task MarkUnplayed(User user)
{
if (user == null)
{
@@ -1405,7 +1409,7 @@ namespace MediaBrowser.Controller.Entities
var key = GetUserDataKey();
- var data = userManager.GetUserData(user.Id, key);
+ var data = UserDataManager.GetUserData(user.Id, key);
//I think it is okay to do this here.
// if this is only called when a user is manually forcing something to un-played
@@ -1415,7 +1419,7 @@ namespace MediaBrowser.Controller.Entities
data.LastPlayedDate = null;
data.Played = false;
- await userManager.SaveUserData(user.Id, this, data, UserDataSaveReason.TogglePlayed, CancellationToken.None).ConfigureAwait(false);
+ await UserDataManager.SaveUserData(user.Id, this, data, UserDataSaveReason.TogglePlayed, CancellationToken.None).ConfigureAwait(false);
}
/// <summary>
diff --git a/MediaBrowser.Controller/Entities/Folder.cs b/MediaBrowser.Controller/Entities/Folder.cs
index 4abdde8dd..d0f2e9dfa 100644
--- a/MediaBrowser.Controller/Entities/Folder.cs
+++ b/MediaBrowser.Controller/Entities/Folder.cs
@@ -319,7 +319,7 @@ namespace MediaBrowser.Controller.Entities
public Task ValidateChildren(IProgress<double> progress, CancellationToken cancellationToken)
{
- return ValidateChildren(progress, cancellationToken, new MetadataRefreshOptions());
+ return ValidateChildren(progress, cancellationToken, new MetadataRefreshOptions(new DirectoryService()));
}
/// <summary>
@@ -332,8 +332,6 @@ namespace MediaBrowser.Controller.Entities
/// <returns>Task.</returns>
public Task ValidateChildren(IProgress<double> progress, CancellationToken cancellationToken, MetadataRefreshOptions metadataRefreshOptions, bool recursive = true)
{
- metadataRefreshOptions.DirectoryService = metadataRefreshOptions.DirectoryService ?? new DirectoryService(Logger);
-
return ValidateChildrenWithCancellationSupport(progress, cancellationToken, recursive, true, metadataRefreshOptions, metadataRefreshOptions.DirectoryService);
}
@@ -1141,12 +1139,16 @@ namespace MediaBrowser.Controller.Entities
/// </summary>
/// <param name="user">The user.</param>
/// <param name="datePlayed">The date played.</param>
- /// <param name="userManager">The user manager.</param>
+ /// <param name="resetPosition">if set to <c>true</c> [reset position].</param>
/// <returns>Task.</returns>
- public override async Task MarkPlayed(User user, DateTime? datePlayed, IUserDataManager userManager)
+ public override async Task MarkPlayed(User user,
+ DateTime? datePlayed,
+ bool resetPosition)
{
// Sweep through recursively and update status
- var tasks = GetRecursiveChildren(user, true).Where(i => !i.IsFolder && i.LocationType != LocationType.Virtual).Select(c => c.MarkPlayed(user, datePlayed, userManager));
+ var tasks = GetRecursiveChildren(user, true)
+ .Where(i => !i.IsFolder && i.LocationType != LocationType.Virtual)
+ .Select(c => c.MarkPlayed(user, datePlayed, resetPosition));
await Task.WhenAll(tasks).ConfigureAwait(false);
}
@@ -1155,12 +1157,13 @@ namespace MediaBrowser.Controller.Entities
/// Marks the unplayed.
/// </summary>
/// <param name="user">The user.</param>
- /// <param name="userManager">The user manager.</param>
/// <returns>Task.</returns>
- public override async Task MarkUnplayed(User user, IUserDataManager userManager)
+ public override async Task MarkUnplayed(User user)
{
// Sweep through recursively and update status
- var tasks = GetRecursiveChildren(user, true).Where(i => !i.IsFolder && i.LocationType != LocationType.Virtual).Select(c => c.MarkUnplayed(user, userManager));
+ var tasks = GetRecursiveChildren(user, true)
+ .Where(i => !i.IsFolder && i.LocationType != LocationType.Virtual)
+ .Select(c => c.MarkUnplayed(user));
await Task.WhenAll(tasks).ConfigureAwait(false);
}
@@ -1195,14 +1198,14 @@ namespace MediaBrowser.Controller.Entities
public override bool IsPlayed(User user)
{
- return GetRecursiveChildren(user).Where(i => !i.IsFolder && i.LocationType != LocationType.Virtual)
+ return GetRecursiveChildren(user)
+ .Where(i => !i.IsFolder && i.LocationType != LocationType.Virtual)
.All(i => i.IsPlayed(user));
}
public override bool IsUnplayed(User user)
{
- return GetRecursiveChildren(user).Where(i => !i.IsFolder && i.LocationType != LocationType.Virtual)
- .All(i => i.IsUnplayed(user));
+ return !IsPlayed(user);
}
public override void FillUserDataDtoValues(UserItemDataDto dto, UserItemData userData, User user)
diff --git a/MediaBrowser.Controller/Entities/User.cs b/MediaBrowser.Controller/Entities/User.cs
index 5d1a21387..0bbd2eeca 100644
--- a/MediaBrowser.Controller/Entities/User.cs
+++ b/MediaBrowser.Controller/Entities/User.cs
@@ -179,7 +179,7 @@ namespace MediaBrowser.Controller.Entities
Name = newName;
- return RefreshMetadata(new MetadataRefreshOptions
+ return RefreshMetadata(new MetadataRefreshOptions(new DirectoryService())
{
ReplaceAllMetadata = true,
ImageRefreshMode = ImageRefreshMode.FullRefresh,
diff --git a/MediaBrowser.Controller/Entities/Video.cs b/MediaBrowser.Controller/Entities/Video.cs
index f4104b29d..0b22d639e 100644
--- a/MediaBrowser.Controller/Entities/Video.cs
+++ b/MediaBrowser.Controller/Entities/Video.cs
@@ -398,9 +398,8 @@ namespace MediaBrowser.Controller.Entities
var currentImagePath = video.GetImagePath(ImageType.Primary);
var ownerImagePath = this.GetImagePath(ImageType.Primary);
- var newOptions = new MetadataRefreshOptions
+ var newOptions = new MetadataRefreshOptions(options.DirectoryService)
{
- DirectoryService = options.DirectoryService,
ImageRefreshMode = options.ImageRefreshMode,
MetadataRefreshMode = options.MetadataRefreshMode,
ReplaceAllMetadata = options.ReplaceAllMetadata