| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138 | 
							- 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
 
-     }
 
- }
 
 
  |