SessionInfoDtoBuilder.cs 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  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. ApplicationVersion = session.ApplicationVersion
  32. };
  33. if (session.NowPlayingItem != null)
  34. {
  35. dto.NowPlayingItem = DtoBuilder.GetBaseItemInfo(session.NowPlayingItem);
  36. }
  37. if (session.User != null)
  38. {
  39. dto.UserId = session.User.Id.ToString("N");
  40. dto.UserName = session.User.Name;
  41. }
  42. return dto;
  43. }
  44. }
  45. }