diff options
Diffstat (limited to 'MediaBrowser.Controller/Entities/Extensions.cs')
| -rw-r--r-- | MediaBrowser.Controller/Entities/Extensions.cs | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/MediaBrowser.Controller/Entities/Extensions.cs b/MediaBrowser.Controller/Entities/Extensions.cs new file mode 100644 index 000000000..c706cf36c --- /dev/null +++ b/MediaBrowser.Controller/Entities/Extensions.cs @@ -0,0 +1,46 @@ +using MediaBrowser.Model.Entities; +using System; +using System.Linq; +using MediaBrowser.Model.Extensions; + +namespace MediaBrowser.Controller.Entities +{ + /// <summary> + /// Class Extensions + /// </summary> + public static class Extensions + { + /// <summary> + /// Adds the trailer URL. + /// </summary> + public static void AddTrailerUrl(this BaseItem item, string url) + { + if (string.IsNullOrEmpty(url)) + { + throw new ArgumentNullException("url"); + } + + var current = item.RemoteTrailers.FirstOrDefault(i => string.Equals(i.Url, url, StringComparison.OrdinalIgnoreCase)); + + if (current == null) + { + var mediaUrl = new MediaUrl + { + Url = url + }; + + if (item.RemoteTrailers.Length == 0) + { + item.RemoteTrailers = new[] { mediaUrl }; + } + else + { + var list = item.RemoteTrailers.ToArray(item.RemoteTrailers.Length + 1); + list[list.Length - 1] = mediaUrl; + + item.RemoteTrailers = list; + } + } + } + } +} |
