|
@@ -8,7 +8,11 @@ namespace MediaBrowser.Providers.Manager
|
|
|
{
|
|
|
public static class ProviderUtils
|
|
|
{
|
|
|
- public static void MergeBaseItemData(BaseItem source, BaseItem target, List<MetadataFields> lockedFields, bool replaceData, bool mergeMetadataSettings)
|
|
|
+ public static void MergeBaseItemData(BaseItem source,
|
|
|
+ BaseItem target,
|
|
|
+ List<MetadataFields> lockedFields,
|
|
|
+ bool replaceData,
|
|
|
+ bool mergeMetadataSettings)
|
|
|
{
|
|
|
if (!lockedFields.Contains(MetadataFields.Name))
|
|
|
{
|
|
@@ -191,36 +195,42 @@ namespace MediaBrowser.Providers.Manager
|
|
|
|
|
|
if (mergeMetadataSettings)
|
|
|
{
|
|
|
- target.ForcedSortName = source.ForcedSortName;
|
|
|
- target.LockedFields = source.LockedFields;
|
|
|
- target.IsLocked = source.IsLocked;
|
|
|
- target.DisplayMediaType = source.DisplayMediaType;
|
|
|
+ MergeMetadataSettings(source, target);
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
- // Grab the value if it's there, but if not then don't overwrite the default
|
|
|
- if (source.DateCreated != default(DateTime))
|
|
|
- {
|
|
|
- target.DateCreated = source.DateCreated;
|
|
|
- }
|
|
|
+ public static void MergeMetadataSettings(BaseItem source,
|
|
|
+ BaseItem target)
|
|
|
+ {
|
|
|
+ target.ForcedSortName = source.ForcedSortName;
|
|
|
+ target.LockedFields = source.LockedFields;
|
|
|
+ target.IsLocked = source.IsLocked;
|
|
|
+ target.DisplayMediaType = source.DisplayMediaType;
|
|
|
|
|
|
- var sourceHasLanguageSettings = source as IHasPreferredMetadataLanguage;
|
|
|
- var targetHasLanguageSettings = target as IHasPreferredMetadataLanguage;
|
|
|
+ // Grab the value if it's there, but if not then don't overwrite the default
|
|
|
+ if (source.DateCreated != default(DateTime))
|
|
|
+ {
|
|
|
+ target.DateCreated = source.DateCreated;
|
|
|
+ }
|
|
|
|
|
|
- if (sourceHasLanguageSettings != null && targetHasLanguageSettings != null)
|
|
|
- {
|
|
|
- targetHasLanguageSettings.PreferredMetadataCountryCode = sourceHasLanguageSettings.PreferredMetadataCountryCode;
|
|
|
- targetHasLanguageSettings.PreferredMetadataLanguage = sourceHasLanguageSettings.PreferredMetadataLanguage;
|
|
|
- }
|
|
|
+ var sourceHasLanguageSettings = source as IHasPreferredMetadataLanguage;
|
|
|
+ var targetHasLanguageSettings = target as IHasPreferredMetadataLanguage;
|
|
|
|
|
|
- var sourceHasDisplayOrder = source as IHasDisplayOrder;
|
|
|
- var targetHasDisplayOrder = target as IHasDisplayOrder;
|
|
|
+ if (sourceHasLanguageSettings != null && targetHasLanguageSettings != null)
|
|
|
+ {
|
|
|
+ targetHasLanguageSettings.PreferredMetadataCountryCode = sourceHasLanguageSettings.PreferredMetadataCountryCode;
|
|
|
+ targetHasLanguageSettings.PreferredMetadataLanguage = sourceHasLanguageSettings.PreferredMetadataLanguage;
|
|
|
+ }
|
|
|
|
|
|
- if (sourceHasDisplayOrder != null && targetHasDisplayOrder != null)
|
|
|
- {
|
|
|
- targetHasDisplayOrder.DisplayOrder = sourceHasDisplayOrder.DisplayOrder;
|
|
|
- }
|
|
|
+ var sourceHasDisplayOrder = source as IHasDisplayOrder;
|
|
|
+ var targetHasDisplayOrder = target as IHasDisplayOrder;
|
|
|
+
|
|
|
+ if (sourceHasDisplayOrder != null && targetHasDisplayOrder != null)
|
|
|
+ {
|
|
|
+ targetHasDisplayOrder.DisplayOrder = sourceHasDisplayOrder.DisplayOrder;
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
private static void MergeShortOverview(BaseItem source, BaseItem target, List<MetadataFields> lockedFields, bool replaceData)
|
|
|
{
|
|
|
var sourceHasShortOverview = source as IHasShortOverview;
|