public SessionDto(SessionBase s)
            : this()
        {
            SessionBaseId = s.Id;
            Abstract      = s.Abstract;
            Duration      = s.Duration;
            SessionType   = s.GetType().Name;
            Speaker1Id    = s.Speaker1Id;
            Speaker1      = new SpeakerDto(s.Speaker1);
            Speaker2Id    = s.Speaker2Id;

            if (s.Speaker2 != null)
            {
                Speaker2 = new SpeakerDto(s.Speaker2);
            }

            Title = s.Title;

            if (s.Ratings == null)
            {
                s.Ratings = new List <Rating>();
            }

            RatingIds = s.Ratings.Select(r => r.Id);
            TrackIds  = s.Tracks.Select(t => t.Id);

            if (s.Schedule != null)
            {
                StartTime = s.Schedule.StartTime.GetValueOrDefault();
                Room      = s.Schedule.Room;
            }
        }
        public SessionDto(SessionBase s)
            : this()
        {
            SessionBaseId = s.Id;
            Abstract = s.Abstract;
            Duration = s.Duration;
            SessionType = s.GetType().Name;
            Speaker1Id = s.Speaker1Id;
            Speaker1 = new SpeakerDto(s.Speaker1);
            Speaker2Id = s.Speaker2Id;

            if (s.Speaker2 != null)
            {
                Speaker2 = new SpeakerDto(s.Speaker2);
            }

            Title = s.Title;

            if (s.Ratings == null)
            {
                s.Ratings = new List<Rating>();
            }

            RatingIds = s.Ratings.Select(r => r.Id);
            TrackIds = s.Tracks.Select(t => t.Id);

            if (s.Schedule != null)
            {
                StartTime = s.Schedule.StartTime.GetValueOrDefault();
                Room = s.Schedule.Room;
            }
        }