SessionInfoDtoBuilder.cs 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  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.ToString("N"),
  23. LastActivityDate = session.LastActivityDate,
  24. NowPlayingPositionTicks = session.NowPlayingPositionTicks,
  25. SupportsRemoteControl = session.SupportsRemoteControl,
  26. IsPaused = session.IsPaused,
  27. IsMuted = session.IsMuted,
  28. NowViewingContext = session.NowViewingContext,
  29. NowViewingItemId = session.NowViewingItemId,
  30. NowViewingItemName = session.NowViewingItemName,
  31. NowViewingItemType = session.NowViewingItemType,
  32. ApplicationVersion = session.ApplicationVersion
  33. };
  34. if (session.NowPlayingItem != null)
  35. {
  36. dto.NowPlayingItem = DtoBuilder.GetBaseItemInfo(session.NowPlayingItem);
  37. }
  38. if (session.User != null)
  39. {
  40. dto.UserId = session.User.Id.ToString("N");
  41. dto.UserName = session.User.Name;
  42. }
  43. return dto;
  44. }
  45. }
  46. }