using MediaBrowser.Controller.Session;
using MediaBrowser.Model.Net;
using MediaBrowser.Model.Session;
namespace MediaBrowser.Controller.Dto
{
///
/// Class SessionInfoDtoBuilder
///
public static class SessionInfoDtoBuilder
{
///
/// Gets the session info dto.
///
/// The session.
/// SessionInfoDto.
public static SessionInfoDto GetSessionInfoDto(SessionInfo session)
{
var dto = new SessionInfoDto
{
Client = session.Client,
DeviceId = session.DeviceId,
DeviceName = session.DeviceName,
Id = session.Id,
LastActivityDate = session.LastActivityDate,
NowPlayingPositionTicks = session.NowPlayingPositionTicks
};
if (session.NowPlayingItem != null)
{
dto.NowPlayingItem = DtoBuilder.GetBaseItemInfo(session.NowPlayingItem);
}
if (session.UserId.HasValue)
{
dto.UserId = session.UserId.Value.ToString("N");
}
dto.SupportsRemoteControl = session.WebSocket != null &&
session.WebSocket.State == WebSocketState.Open;
return dto;
}
}
}