SessionInfoDtoBuilder.cs 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  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.UserId.HasValue)
  37. {
  38. dto.UserId = session.UserId.Value.ToString("N");
  39. }
  40. return dto;
  41. }
  42. }
  43. }