aboutsummaryrefslogtreecommitdiff
path: root/Emby.Server.Core/Data
diff options
context:
space:
mode:
authorLuke <luke.pulverenti@gmail.com>2016-11-17 02:06:35 -0500
committerGitHub <noreply@github.com>2016-11-17 02:06:35 -0500
commitd8f40438d499c7a5caa48fe7b1f05ede83a02f1a (patch)
tree29e8c660f108f9efe1d099e20d0a2b04be7bb33e /Emby.Server.Core/Data
parent43ee35a19c4e5b3a1a4977fbf38bea70c700c6ca (diff)
parent5bcc419857f9445bc5964d0518c656090b2ae4ee (diff)
Merge pull request #2293 from MediaBrowser/dev
Dev
Diffstat (limited to 'Emby.Server.Core/Data')
-rw-r--r--Emby.Server.Core/Data/DataExtensions.cs5
-rw-r--r--Emby.Server.Core/Data/SqliteItemRepository.cs45
2 files changed, 37 insertions, 13 deletions
diff --git a/Emby.Server.Core/Data/DataExtensions.cs b/Emby.Server.Core/Data/DataExtensions.cs
index 631c1c500..20766619e 100644
--- a/Emby.Server.Core/Data/DataExtensions.cs
+++ b/Emby.Server.Core/Data/DataExtensions.cs
@@ -25,6 +25,11 @@ namespace Emby.Server.Core.Data
return (IDataParameter)cmd.Parameters[index];
}
+ public static IDataParameter GetParameter(this IDbCommand cmd, string name)
+ {
+ return (IDataParameter)cmd.Parameters[name];
+ }
+
public static IDataParameter Add(this IDataParameterCollection paramCollection, IDbCommand cmd, string name, DbType type)
{
var param = cmd.CreateParameter();
diff --git a/Emby.Server.Core/Data/SqliteItemRepository.cs b/Emby.Server.Core/Data/SqliteItemRepository.cs
index c2328641c..91c46222b 100644
--- a/Emby.Server.Core/Data/SqliteItemRepository.cs
+++ b/Emby.Server.Core/Data/SqliteItemRepository.cs
@@ -810,7 +810,15 @@ namespace Emby.Server.Core.Data
_saveItemCommand.GetParameter(index++).Value = item.ParentId;
}
- _saveItemCommand.GetParameter(index++).Value = string.Join("|", item.Genres.ToArray());
+ if (item.Genres.Count > 0)
+ {
+ _saveItemCommand.GetParameter(index++).Value = string.Join("|", item.Genres.ToArray());
+ }
+ else
+ {
+ _saveItemCommand.GetParameter(index++).Value = null;
+ }
+
_saveItemCommand.GetParameter(index++).Value = item.GetInheritedParentalRatingValue() ?? 0;
_saveItemCommand.GetParameter(index++).Value = LatestSchemaVersion;
@@ -852,8 +860,23 @@ namespace Emby.Server.Core.Data
}
_saveItemCommand.GetParameter(index++).Value = item.IsInMixedFolder;
- _saveItemCommand.GetParameter(index++).Value = string.Join("|", item.LockedFields.Select(i => i.ToString()).ToArray());
- _saveItemCommand.GetParameter(index++).Value = string.Join("|", item.Studios.ToArray());
+ if (item.LockedFields.Count > 0)
+ {
+ _saveItemCommand.GetParameter(index++).Value = string.Join("|", item.LockedFields.Select(i => i.ToString()).ToArray());
+ }
+ else
+ {
+ _saveItemCommand.GetParameter(index++).Value = null;
+ }
+
+ if (item.Studios.Count > 0)
+ {
+ _saveItemCommand.GetParameter(index++).Value = string.Join("|", item.Studios.ToArray());
+ }
+ else
+ {
+ _saveItemCommand.GetParameter(index++).Value = null;
+ }
if (item.Audio.HasValue)
{
@@ -1043,31 +1066,27 @@ namespace Emby.Server.Core.Data
_saveItemCommand.GetParameter(index++).Value = item.TotalBitrate;
_saveItemCommand.GetParameter(index++).Value = item.ExtraType;
+ string artists = null;
var hasArtists = item as IHasArtist;
if (hasArtists != null)
{
if (hasArtists.Artists.Count > 0)
{
- _saveItemCommand.GetParameter(index++).Value = string.Join("|", hasArtists.Artists.ToArray());
- }
- else
- {
- _saveItemCommand.GetParameter(index++).Value = null;
+ artists = string.Join("|", hasArtists.Artists.ToArray());
}
}
+ _saveItemCommand.GetParameter(index++).Value = artists;
+ string albumArtists = null;
var hasAlbumArtists = item as IHasAlbumArtist;
if (hasAlbumArtists != null)
{
if (hasAlbumArtists.AlbumArtists.Count > 0)
{
- _saveItemCommand.GetParameter(index++).Value = string.Join("|", hasAlbumArtists.AlbumArtists.ToArray());
- }
- else
- {
- _saveItemCommand.GetParameter(index++).Value = null;
+ albumArtists = string.Join("|", hasAlbumArtists.AlbumArtists.ToArray());
}
}
+ _saveItemCommand.GetParameter(index++).Value = albumArtists;
_saveItemCommand.GetParameter(index++).Value = item.ExternalId;