diff options
Diffstat (limited to 'MediaBrowser.Api/Reports/Common')
11 files changed, 0 insertions, 680 deletions
diff --git a/MediaBrowser.Api/Reports/Common/HeaderActivitiesMetadata.cs b/MediaBrowser.Api/Reports/Common/HeaderActivitiesMetadata.cs deleted file mode 100644 index 4a45f2646..000000000 --- a/MediaBrowser.Api/Reports/Common/HeaderActivitiesMetadata.cs +++ /dev/null @@ -1,16 +0,0 @@ -namespace MediaBrowser.Api.Reports -{ - public enum HeaderActivitiesMetadata - { - None, - Name, - Overview, - ShortOverview, - Type, - Date, - UserPrimaryImageTag, - Severity, - Item, - User - } -} diff --git a/MediaBrowser.Api/Reports/Common/HeaderMetadata.cs b/MediaBrowser.Api/Reports/Common/HeaderMetadata.cs deleted file mode 100644 index e25e78802..000000000 --- a/MediaBrowser.Api/Reports/Common/HeaderMetadata.cs +++ /dev/null @@ -1,69 +0,0 @@ -namespace MediaBrowser.Api.Reports -{ - public enum HeaderMetadata - { - None, - Name, - PremiereDate, - DateAdded, - ReleaseDate, - Runtime, - PlayCount, - Season, - SeasonNumber, - Series, - Network, - Year, - ParentalRating, - CommunityRating, - Trailers, - Specials, - GameSystem, - Players, - AlbumArtist, - Album, - Disc, - Track, - Audio, - EmbeddedImage, - Video, - Resolution, - Subtitles, - Genres, - Countries, - Status, - Tracks, - EpisodeSeries, - EpisodeSeason, - EpisodeNumber, - AudioAlbumArtist, - MusicArtist, - AudioAlbum, - Locked, - ImagePrimary, - ImageBackdrop, - ImageLogo, - Actor, - Studios, - Composer, - Director, - GuestStar, - Producer, - Writer, - Artist, - Years, - ParentalRatings, - CommunityRatings, - - //Activity logs - Overview, - ShortOverview, - Type, - Date, - UserPrimaryImage, - Severity, - Item, - User, - UserId - } -} diff --git a/MediaBrowser.Api/Reports/Common/ItemViewType.cs b/MediaBrowser.Api/Reports/Common/ItemViewType.cs deleted file mode 100644 index ede6705e0..000000000 --- a/MediaBrowser.Api/Reports/Common/ItemViewType.cs +++ /dev/null @@ -1,21 +0,0 @@ -namespace MediaBrowser.Api.Reports -{ - public enum ItemViewType - { - None, - Detail, - Edit, - List, - ItemByNameDetails, - StatusImage, - EmbeddedImage, - SubtitleImage, - TrailersImage, - SpecialsImage, - LockDataImage, - TagsPrimaryImage, - TagsBackdropImage, - TagsLogoImage, - UserPrimaryImage - } -} diff --git a/MediaBrowser.Api/Reports/Common/ReportBuilderBase.cs b/MediaBrowser.Api/Reports/Common/ReportBuilderBase.cs deleted file mode 100644 index 6d5a180fb..000000000 --- a/MediaBrowser.Api/Reports/Common/ReportBuilderBase.cs +++ /dev/null @@ -1,365 +0,0 @@ -using MediaBrowser.Controller.Entities; -using MediaBrowser.Controller.Entities.TV; -using MediaBrowser.Controller.Library; -using MediaBrowser.Model.Channels; -using MediaBrowser.Model.Dto; -using MediaBrowser.Model.Entities; -using System; -using System.Collections.Generic; -using System.Linq; - -namespace MediaBrowser.Api.Reports -{ - /// <summary> A report builder base. </summary> - public abstract class ReportBuilderBase - { - - #region [Constructors] - - /// <summary> - /// Initializes a new instance of the MediaBrowser.Api.Reports.ReportBuilderBase class. </summary> - /// <param name="libraryManager"> Manager for library. </param> - public ReportBuilderBase(ILibraryManager libraryManager) - { - _libraryManager = libraryManager; - } - - #endregion - - #region [Protected Fields] - - /// <summary> Manager for library. </summary> - protected readonly ILibraryManager _libraryManager; ///< Manager for library - - protected Func<bool, string> GetBoolString = s => s == true ? "x" : ""; ///< . - - #endregion - - #region [Protected Internal Methods] - - /// <summary> Gets the headers. </summary> - /// <typeparam name="H"> Type of the header. </typeparam> - /// <param name="request"> The request. </param> - /// <returns> The headers. </returns> - protected internal abstract List<ReportHeader> GetHeaders<H>(H request) where H : IReportsHeader; - - #endregion - - #region [Protected Methods] - - /// <summary> Gets active headers. </summary> - /// <typeparam name="T"> Generic type parameter. </typeparam> - /// <param name="options"> Options for controlling the operation. </param> - /// <returns> The active headers. </returns> - protected List<ReportHeader> GetActiveHeaders<T>(List<ReportOptions<T>> options, ReportDisplayType displayType) - { - List<ReportHeader> headers = new List<ReportHeader>(); - foreach (ReportOptions<T> option in options.Where(x => this.DisplayTypeVisible(x.Header.DisplayType, displayType))) - { - headers.Add(option.Header); - } - - return headers; - } - - /// <summary> Gets audio stream. </summary> - /// <param name="item"> The item. </param> - /// <returns> The audio stream. </returns> - protected string GetAudioStream(BaseItem item) - { - var stream = GetStream(item, MediaStreamType.Audio); - if (stream != null) - return stream.Codec.ToUpper() == "DCA" ? stream.Profile : stream.Codec. - ToUpper(); - - return string.Empty; - } - - /// <summary> Gets an episode. </summary> - /// <param name="item"> The item. </param> - /// <returns> The episode. </returns> - protected string GetEpisode(BaseItem item) - { - - if (item.GetClientTypeName() == ChannelMediaContentType.Episode.ToString() && item.ParentIndexNumber != null) - return "Season " + item.ParentIndexNumber; - else - return item.Name; - } - - /// <summary> Gets a genre. </summary> - /// <param name="name"> The name. </param> - /// <returns> The genre. </returns> - protected Genre GetGenre(string name) - { - if (string.IsNullOrEmpty(name)) - return null; - return _libraryManager.GetGenre(name); - } - - /// <summary> Gets genre identifier. </summary> - /// <param name="name"> The name. </param> - /// <returns> The genre identifier. </returns> - protected string GetGenreID(string name) - { - if (string.IsNullOrEmpty(name)) - return string.Empty; - return string.Format("{0:N}", - GetGenre(name).Id); - } - - /// <summary> Gets the headers. </summary> - /// <typeparam name="T"> Generic type parameter. </typeparam> - /// <param name="options"> Options for controlling the operation. </param> - /// <returns> The headers. </returns> - protected List<ReportHeader> GetHeaders<T>(List<ReportOptions<T>> options) - { - List<ReportHeader> headers = new List<ReportHeader>(); - foreach (ReportOptions<T> option in options) - { - headers.Add(option.Header); - } - - return headers; - } - - /// <summary> Gets the headers. </summary> - /// <typeparam name="T"> Generic type parameter. </typeparam> - /// <param name="request"> The request. </param> - /// <param name="getHeadersMetadata"> The get headers metadata. </param> - /// <param name="getOptions"> Options for controlling the get. </param> - /// <returns> The headers. </returns> - protected List<ReportHeader> GetHeaders<T>(IReportsHeader request, Func<List<HeaderMetadata>> getHeadersMetadata, Func<HeaderMetadata, ReportOptions<T>> getOptions) - { - List<ReportOptions<T>> options = this.GetReportOptions(request, getHeadersMetadata, getOptions); - return this.GetHeaders(options); - } - - /// <summary> Gets list as string. </summary> - /// <param name="items"> The items. </param> - /// <returns> The list as string. </returns> - protected string GetListAsString(List<string> items) - { - return String.Join("; ", items); - } - - /// <summary> Gets localized header. </summary> - /// <param name="internalHeader"> The internal header. </param> - /// <returns> The localized header. </returns> - protected static string GetLocalizedHeader(HeaderMetadata internalHeader) - { - if (internalHeader == HeaderMetadata.EpisodeNumber) - { - return "Episode"; - } - - string headerName = ""; - if (internalHeader != HeaderMetadata.None) - { - string localHeader = "Header" + internalHeader.ToString(); - headerName = ReportHelper.GetCoreLocalizedString(localHeader); - } - return headerName; - } - - /// <summary> Gets media source information. </summary> - /// <param name="item"> The item. </param> - /// <returns> The media source information. </returns> - protected MediaSourceInfo GetMediaSourceInfo(BaseItem item) - { - var mediaSource = item as IHasMediaSources; - if (mediaSource != null) - return mediaSource.GetMediaSources(false).FirstOrDefault(n => n.Type == MediaSourceType.Default); - - return null; - } - - /// <summary> Gets an object. </summary> - /// <typeparam name="T"> Generic type parameter. </typeparam> - /// <typeparam name="R"> Type of the r. </typeparam> - /// <param name="item"> The item. </param> - /// <param name="function"> The function. </param> - /// <param name="defaultValue"> The default value. </param> - /// <returns> The object. </returns> - protected R GetObject<T, R>(BaseItem item, Func<T, R> function, R defaultValue = default(R)) where T : class - { - var value = item as T; - if (value != null && function != null) - return function(value); - else - return defaultValue; - } - - /// <summary> Gets a person. </summary> - /// <param name="name"> The name. </param> - /// <returns> The person. </returns> - protected Person GetPerson(string name) - { - if (string.IsNullOrEmpty(name)) - return null; - return _libraryManager.GetPerson(name); - } - - /// <summary> Gets person identifier. </summary> - /// <param name="name"> The name. </param> - /// <returns> The person identifier. </returns> - protected string GetPersonID(string name) - { - if (string.IsNullOrEmpty(name)) - return string.Empty; - return string.Format("{0:N}", - GetPerson(name).Id); - } - - /// <summary> Gets report options. </summary> - /// <typeparam name="T"> Generic type parameter. </typeparam> - /// <param name="request"> The request. </param> - /// <param name="getHeadersMetadata"> The get headers metadata. </param> - /// <param name="getOptions"> Options for controlling the get. </param> - /// <returns> The report options. </returns> - protected List<ReportOptions<T>> GetReportOptions<T>(IReportsHeader request, Func<List<HeaderMetadata>> getHeadersMetadata, Func<HeaderMetadata, ReportOptions<T>> getOptions) - { - List<HeaderMetadata> headersMetadata = getHeadersMetadata(); - List<ReportOptions<T>> options = new List<ReportOptions<T>>(); - ReportDisplayType displayType = ReportHelper.GetReportDisplayType(request.DisplayType); - foreach (HeaderMetadata header in headersMetadata) - { - ReportOptions<T> headerOptions = getOptions(header); - if (this.DisplayTypeVisible(headerOptions.Header.DisplayType, displayType)) - options.Add(headerOptions); - } - - if (request != null && !string.IsNullOrEmpty(request.ReportColumns)) - { - List<HeaderMetadata> headersMetadataFiltered = ReportHelper.GetFilteredReportHeaderMetadata(request.ReportColumns, () => headersMetadata); - foreach (ReportHeader header in options.Select(x => x.Header)) - { - - if (this.DisplayTypeVisible(header.DisplayType, displayType)) - { - - if (!headersMetadataFiltered.Contains(header.FieldName) && displayType != ReportDisplayType.Export) - { - header.DisplayType = ReportDisplayType.None; - } - } - else - header.DisplayType = ReportDisplayType.None; - } - } - - return options; - } - - /// <summary> Gets runtime date time. </summary> - /// <param name="runtime"> The runtime. </param> - /// <returns> The runtime date time. </returns> - protected double? GetRuntimeDateTime(long? runtime) - { - if (runtime.HasValue) - return Math.Ceiling(new TimeSpan(runtime.Value).TotalMinutes); - return null; - } - - /// <summary> Gets series production year. </summary> - /// <param name="item"> The item. </param> - /// <returns> The series production year. </returns> - protected string GetSeriesProductionYear(BaseItem item) - { - - string productionYear = item.ProductionYear.ToString(); - var series = item as Series; - if (series == null) - { - if (item.ProductionYear == null || item.ProductionYear == 0) - return string.Empty; - return productionYear; - } - - if (series.Status == SeriesStatus.Continuing) - return productionYear += "-Present"; - - if (series.EndDate != null && series.EndDate.Value.Year != series.ProductionYear) - return productionYear += "-" + series.EndDate.Value.Year; - - return productionYear; - } - - /// <summary> Gets a stream. </summary> - /// <param name="item"> The item. </param> - /// <param name="streamType"> Type of the stream. </param> - /// <returns> The stream. </returns> - protected MediaStream GetStream(BaseItem item, MediaStreamType streamType) - { - var itemInfo = GetMediaSourceInfo(item); - if (itemInfo != null) - return itemInfo.MediaStreams.FirstOrDefault(n => n.Type == streamType); - - return null; - } - - /// <summary> Gets a studio. </summary> - /// <param name="name"> The name. </param> - /// <returns> The studio. </returns> - protected Studio GetStudio(string name) - { - if (string.IsNullOrEmpty(name)) - return null; - return _libraryManager.GetStudio(name); - } - - /// <summary> Gets studio identifier. </summary> - /// <param name="name"> The name. </param> - /// <returns> The studio identifier. </returns> - protected string GetStudioID(string name) - { - if (string.IsNullOrEmpty(name)) - return string.Empty; - return string.Format("{0:N}", - GetStudio(name).Id); - } - - /// <summary> Gets video resolution. </summary> - /// <param name="item"> The item. </param> - /// <returns> The video resolution. </returns> - protected string GetVideoResolution(BaseItem item) - { - var stream = GetStream(item, - MediaStreamType.Video); - if (stream != null && stream.Width != null) - return string.Format("{0} * {1}", - stream.Width, - stream.Height != null ? stream.Height.ToString() : "-"); - - return string.Empty; - } - - /// <summary> Gets video stream. </summary> - /// <param name="item"> The item. </param> - /// <returns> The video stream. </returns> - protected string GetVideoStream(BaseItem item) - { - var stream = GetStream(item, MediaStreamType.Video); - if (stream != null) - return stream.Codec.ToUpper(); - - return string.Empty; - } - - /// <summary> Displays a type visible. </summary> - /// <param name="headerDisplayType"> Type of the header display. </param> - /// <param name="displayType"> Type of the display. </param> - /// <returns> true if it succeeds, false if it fails. </returns> - protected bool DisplayTypeVisible(ReportDisplayType headerDisplayType, ReportDisplayType displayType) - { - if (headerDisplayType == ReportDisplayType.None) - return false; - - bool rval = headerDisplayType == displayType || headerDisplayType == ReportDisplayType.ScreenExport && (displayType == ReportDisplayType.Screen || displayType == ReportDisplayType.Export); - return rval; - } - - #endregion - - } -} diff --git a/MediaBrowser.Api/Reports/Common/ReportDisplayType.cs b/MediaBrowser.Api/Reports/Common/ReportDisplayType.cs deleted file mode 100644 index 681bb3928..000000000 --- a/MediaBrowser.Api/Reports/Common/ReportDisplayType.cs +++ /dev/null @@ -1,10 +0,0 @@ -namespace MediaBrowser.Api.Reports -{ - public enum ReportDisplayType - { - None, - Screen, - Export, - ScreenExport - } -} diff --git a/MediaBrowser.Api/Reports/Common/ReportExportType.cs b/MediaBrowser.Api/Reports/Common/ReportExportType.cs deleted file mode 100644 index 4ac4cad21..000000000 --- a/MediaBrowser.Api/Reports/Common/ReportExportType.cs +++ /dev/null @@ -1,8 +0,0 @@ -namespace MediaBrowser.Api.Reports -{ - public enum ReportExportType - { - CSV, - Excel - } -} diff --git a/MediaBrowser.Api/Reports/Common/ReportFieldType.cs b/MediaBrowser.Api/Reports/Common/ReportFieldType.cs deleted file mode 100644 index 63c48dff0..000000000 --- a/MediaBrowser.Api/Reports/Common/ReportFieldType.cs +++ /dev/null @@ -1,15 +0,0 @@ -namespace MediaBrowser.Api.Reports -{ - public enum ReportFieldType - { - String, - Boolean, - Date, - Time, - DateTime, - Int, - Image, - Object, - Minutes - } -} diff --git a/MediaBrowser.Api/Reports/Common/ReportHeaderIdType.cs b/MediaBrowser.Api/Reports/Common/ReportHeaderIdType.cs deleted file mode 100644 index 32b2bc04d..000000000 --- a/MediaBrowser.Api/Reports/Common/ReportHeaderIdType.cs +++ /dev/null @@ -1,8 +0,0 @@ -namespace MediaBrowser.Api.Reports -{ - public enum ReportHeaderIdType - { - Row, - Item - } -} diff --git a/MediaBrowser.Api/Reports/Common/ReportHelper.cs b/MediaBrowser.Api/Reports/Common/ReportHelper.cs deleted file mode 100644 index 9dc4fbd51..000000000 --- a/MediaBrowser.Api/Reports/Common/ReportHelper.cs +++ /dev/null @@ -1,138 +0,0 @@ -using MediaBrowser.Controller.Entities; -using System; -using System.Collections.Generic; -using System.Linq; - -namespace MediaBrowser.Api.Reports -{ - /// <summary> A report helper. </summary> - public class ReportHelper - { - #region [Public Methods] - - /// <summary> Convert field to string. </summary> - /// <typeparam name="T"> Generic type parameter. </typeparam> - /// <param name="value"> The value. </param> - /// <param name="fieldType"> Type of the field. </param> - /// <returns> The field converted to string. </returns> - public static string ConvertToString<T>(T value, ReportFieldType fieldType) - { - if (value == null) - return ""; - switch (fieldType) - { - case ReportFieldType.String: - return value.ToString(); - case ReportFieldType.Boolean: - return value.ToString(); - case ReportFieldType.Date: - return string.Format("{0:d}", value); - case ReportFieldType.Time: - return string.Format("{0:t}", value); - case ReportFieldType.DateTime: - return string.Format("{0:d}", value); - case ReportFieldType.Minutes: - return string.Format("{0}mn", value); - case ReportFieldType.Int: - return string.Format("", value); - default: - if (value is Guid) - return string.Format("{0:N}", value); - return value.ToString(); - } - } - - /// <summary> Gets filtered report header metadata. </summary> - /// <param name="reportColumns"> The report columns. </param> - /// <param name="defaultReturnValue"> The default return value. </param> - /// <returns> The filtered report header metadata. </returns> - public static List<HeaderMetadata> GetFilteredReportHeaderMetadata(string reportColumns, Func<List<HeaderMetadata>> defaultReturnValue = null) - { - if (!string.IsNullOrEmpty(reportColumns)) - { - var s = reportColumns.Split('|').Select(x => ReportHelper.GetHeaderMetadataType(x)).Where(x => x != HeaderMetadata.None); - return s.ToList(); - } - else - if (defaultReturnValue != null) - return defaultReturnValue(); - else - return new List<HeaderMetadata>(); - } - - /// <summary> Gets header metadata type. </summary> - /// <param name="header"> The header. </param> - /// <returns> The header metadata type. </returns> - public static HeaderMetadata GetHeaderMetadataType(string header) - { - if (string.IsNullOrEmpty(header)) - return HeaderMetadata.None; - - HeaderMetadata rType; - - if (!Enum.TryParse<HeaderMetadata>(header, out rType)) - return HeaderMetadata.None; - - return rType; - } - - /// <summary> Gets report view type. </summary> - /// <param name="rowType"> The type. </param> - /// <returns> The report view type. </returns> - public static ReportViewType GetReportViewType(string rowType) - { - if (string.IsNullOrEmpty(rowType)) - return ReportViewType.ReportData; - - ReportViewType rType; - - if (!Enum.TryParse<ReportViewType>(rowType, out rType)) - return ReportViewType.ReportData; - - return rType; - } - - /// <summary> Gets row type. </summary> - /// <param name="rowType"> The type. </param> - /// <returns> The row type. </returns> - public static ReportIncludeItemTypes GetRowType(string rowType) - { - if (string.IsNullOrEmpty(rowType)) - return ReportIncludeItemTypes.BaseItem; - - ReportIncludeItemTypes rType; - - if (!Enum.TryParse<ReportIncludeItemTypes>(rowType, out rType)) - return ReportIncludeItemTypes.BaseItem; - - return rType; - } - - /// <summary> Gets report display type. </summary> - /// <param name="displayType"> Type of the display. </param> - /// <returns> The report display type. </returns> - public static ReportDisplayType GetReportDisplayType(string displayType) - { - if (string.IsNullOrEmpty(displayType)) - return ReportDisplayType.ScreenExport; - - ReportDisplayType rType; - - if (!Enum.TryParse<ReportDisplayType>(displayType, out rType)) - return ReportDisplayType.ScreenExport; - - return rType; - } - - /// <summary> Gets core localized string. </summary> - /// <param name="phrase"> The phrase. </param> - /// <returns> The core localized string. </returns> - public static string GetCoreLocalizedString(string phrase) - { - return BaseItem.LocalizationManager.GetLocalizedString(phrase); - } - - #endregion - - } -} diff --git a/MediaBrowser.Api/Reports/Common/ReportIncludeItemTypes.cs b/MediaBrowser.Api/Reports/Common/ReportIncludeItemTypes.cs deleted file mode 100644 index 65cc2b686..000000000 --- a/MediaBrowser.Api/Reports/Common/ReportIncludeItemTypes.cs +++ /dev/null @@ -1,21 +0,0 @@ -namespace MediaBrowser.Api.Reports -{ - public enum ReportIncludeItemTypes - { - MusicArtist, - MusicAlbum, - Book, - BoxSet, - Episode, - Game, - Video, - Movie, - MusicVideo, - Trailer, - Season, - Series, - Audio, - BaseItem, - Artist - } -} diff --git a/MediaBrowser.Api/Reports/Common/ReportViewType.cs b/MediaBrowser.Api/Reports/Common/ReportViewType.cs deleted file mode 100644 index 8593c8e84..000000000 --- a/MediaBrowser.Api/Reports/Common/ReportViewType.cs +++ /dev/null @@ -1,9 +0,0 @@ -namespace MediaBrowser.Api.Reports -{ - public enum ReportViewType - { - ReportData, - ReportActivities - - } -} |
