EntityExtensions.cs 3.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. using System;
  2. using System.Linq;
  3. using System.Text;
  4. using Emby.XmlTv.Entities;
  5. namespace Emby.XmlTv.Console.Classes
  6. {
  7. public static class EntityExtensions
  8. {
  9. public static string GetHeader(this string text)
  10. {
  11. var channelHeaderString = " " + text;
  12. var builder = new StringBuilder();
  13. builder.AppendLine("".PadRight(5 + channelHeaderString.Length + 5, Char.Parse("*")));
  14. builder.AppendLine("".PadRight(5, Char.Parse("*")) + channelHeaderString + "".PadRight(5, Char.Parse("*")));
  15. builder.AppendLine("".PadRight(5 + channelHeaderString.Length + 5, Char.Parse("*")));
  16. return builder.ToString();
  17. }
  18. public static string GetChannelDetail(this XmlTvChannel channel)
  19. {
  20. var builder = new StringBuilder();
  21. builder.AppendFormat("Id: {0}\r\n", channel.Id);
  22. builder.AppendFormat("Display-Name: {0}\r\n", channel.DisplayName);
  23. builder.AppendFormat("Url: {0}\r\n", channel.Url);
  24. builder.AppendFormat("Icon: {0}\r\n", channel.Icon != null ? channel.Icon.ToString() : string.Empty);
  25. builder.AppendLine("-------------------------------------------------------");
  26. return builder.ToString();
  27. }
  28. public static string GetProgrammeDetail(this XmlTvProgram programme, XmlTvChannel channel)
  29. {
  30. var builder = new StringBuilder();
  31. builder.AppendFormat("Channel: {0} - {1}\r\n", channel.Id, channel.DisplayName);
  32. builder.AppendFormat("Start Date: {0:G}\r\n", programme.StartDate);
  33. builder.AppendFormat("End Date: {0:G}\r\n", programme.EndDate);
  34. builder.AppendFormat("Name: {0}\r\n", programme.Title);
  35. builder.AppendFormat("Episode Detail: {0}\r\n", programme.Episode);
  36. builder.AppendFormat("Episode Title: {0}\r\n", programme.Episode.Title);
  37. builder.AppendFormat("Description: {0}\r\n", programme.Description);
  38. builder.AppendFormat("Categories: {0}\r\n", string.Join(", ", programme.Categories));
  39. builder.AppendFormat("Countries: {0}\r\n", string.Join(", ", programme.Countries));
  40. builder.AppendFormat("Credits: {0}\r\n", string.Join(", ", programme.Credits));
  41. builder.AppendFormat("Rating: {0}\r\n", programme.Rating);
  42. builder.AppendFormat("Star Rating: {0}\r\n", programme.StarRating.HasValue ? programme.StarRating.Value.ToString() : string.Empty);
  43. builder.AppendFormat("Previously Shown: {0:G}\r\n", programme.PreviouslyShown);
  44. builder.AppendFormat("Copyright Date: {0:G}\r\n", programme.CopyrightDate);
  45. builder.AppendFormat("Is Repeat: {0}\r\n", programme.IsPreviouslyShown);
  46. builder.AppendFormat("Icon: {0}\r\n", programme.Icon != null ? programme.Icon.ToString() : string.Empty);
  47. builder.AppendLine("-------------------------------------------------------");
  48. return builder.ToString();
  49. }
  50. }
  51. }