SessionInfoDtoBuilder.cs 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. using MediaBrowser.Controller.Session;
  2. using MediaBrowser.Model.Session;
  3. namespace MediaBrowser.Controller.Dto
  4. {
  5. /// <summary>
  6. /// Class SessionInfoDtoBuilder
  7. /// </summary>
  8. public static class SessionInfoDtoBuilder
  9. {
  10. /// <summary>
  11. /// Gets the session info dto.
  12. /// </summary>
  13. /// <param name="session">The session.</param>
  14. /// <returns>SessionInfoDto.</returns>
  15. public static SessionInfoDto GetSessionInfoDto(SessionInfo session)
  16. {
  17. var dto = new SessionInfoDto
  18. {
  19. Client = session.Client,
  20. DeviceId = session.DeviceId,
  21. DeviceName = session.DeviceName,
  22. Id = session.Id,
  23. LastActivityDate = session.LastActivityDate,
  24. NowPlayingPositionTicks = session.NowPlayingPositionTicks,
  25. SupportsRemoteControl = session.SupportsRemoteControl,
  26. IsPaused = session.IsPaused,
  27. NowViewingContext = session.NowViewingContext,
  28. NowViewingItemId = session.NowViewingItemId,
  29. NowViewingItemName = session.NowViewingItemName,
  30. NowViewingItemType = session.NowViewingItemType
  31. };
  32. if (session.NowPlayingItem != null)
  33. {
  34. dto.NowPlayingItem = DtoBuilder.GetBaseItemInfo(session.NowPlayingItem);
  35. }
  36. if (session.User != null)
  37. {
  38. dto.UserId = session.User.Id.ToString("N");
  39. dto.UserName = session.User.Name;
  40. }
  41. return dto;
  42. }
  43. }
  44. }