SessionInfoDtoBuilder.cs 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  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. NowViewingItemIdentifier = session.NowViewingItemIdentifier,
  29. NowViewingItemType = session.NowViewingItemType
  30. };
  31. if (session.NowPlayingItem != null)
  32. {
  33. dto.NowPlayingItem = DtoBuilder.GetBaseItemInfo(session.NowPlayingItem);
  34. }
  35. if (session.UserId.HasValue)
  36. {
  37. dto.UserId = session.UserId.Value.ToString("N");
  38. }
  39. return dto;
  40. }
  41. }
  42. }