/// <summary>
 /// Initializes an instance of <c>TalkAddedToTrack</c>
 /// </summary>
 /// <param name="trackId">Unique identity of the track</param>
 /// <param name="talkId">Unique identity of the talk added</param>
 /// <param name="title">Title of Talk</param>
 /// <param name="startTime">Start time of talk</param>
 public TalkAddedToTrack(TrackId trackId, TalkId talkId, Title title, TalkStartTime startTime)
 {
     TrackId   = trackId;
     TalkId    = talkId;
     Title     = title;
     StartTime = startTime;
 }
 /// <summary>
 /// Initializes an instance of <c>TalkCreated</c>
 /// </summary>
 /// <param name="talkId">Unique identity of the talk created</param>
 /// <param name="title">Title of Talk</param>
 /// <param name="description">Description of talk</param>
 /// <param name="startTime">Start time  of the talk</param>
 public TalkCreated(TalkId talkId, Title title, Description description, TalkStartTime startTime)
 {
     TalkId      = talkId;
     Title       = title;
     Description = description;
     StartTime   = startTime;
 }
        public void Create_ConferenceWithTalkInAfternoon_ReturnsConference()
        {
            // Arrange
            var conferenceId    = Guid.NewGuid();
            var trackId         = Guid.NewGuid();
            var talkIdAfternoon = Guid.NewGuid();

            var conferenceIdObj = ConferenceId.Create(conferenceId).Data;
            var conference      = Conference.Create(conferenceIdObj).Data;
            var trackIdObj      = TrackId.Create(trackId).Data;

            conference.AddTrack(trackIdObj);

            AddTalkToTrack(conference, trackIdObj, Guid.NewGuid(), "Morning - 1", "1st Morning Session 60 mins", 60);
            AddTalkToTrack(conference, trackIdObj, Guid.NewGuid(), "Morning - 2", "2nd Morning Session 60 mins", 60);
            AddTalkToTrack(conference, trackIdObj, Guid.NewGuid(), "Morning - 3", "3rd Morning Session 60 mins", 60);

            var talkIdObjAfternoon   = TalkId.Create(talkIdAfternoon).Data;
            var titleAfternoon       = Title.Create("Afternoon talk").Data;
            var descriptionAfternoon = Description.Create("This is the Afternoon talk").Data;
            var durationAfternoon    = Duration.Create(TimeSpan.FromMinutes(45)).Data;         // 45 mins
            var startTimeAfternoon   = TalkStartTime.Create(DateTime.Today.AddHours(13)).Data; // 1PM

            // Act
            var afternoonTalkAddedToTrackEventResult = conference.AddTalkToTrack(trackIdObj, talkIdObjAfternoon, titleAfternoon, descriptionAfternoon, durationAfternoon);

            // Assert
            Assert.IsTrue(afternoonTalkAddedToTrackEventResult.IsSuccess);
            var talkAddedToTrackEvent = conference.Events.OfType <TalkAddedToTrack>().LastOrDefault();

            Assert.IsNotNull(talkAddedToTrackEvent);
            Assert.AreEqual(trackIdObj, talkAddedToTrackEvent.TrackId);
            Assert.AreEqual(talkIdObjAfternoon, talkAddedToTrackEvent.TalkId);
            Assert.AreEqual(startTimeAfternoon, talkAddedToTrackEvent.StartTime);
        }
        public void Create_ConferenceWithTalkInMorning_ReturnsConference()
        {
            // Arrange
            var conferenceId = Guid.NewGuid();
            var trackId      = Guid.NewGuid();
            var talkId       = Guid.NewGuid();

            var conferenceIdObj        = ConferenceId.Create(conferenceId).Data;
            var trackIdObj             = TrackId.Create(trackId).Data;
            var talkIdObj              = TalkId.Create(talkId).Data;
            var title                  = Title.Create("First talk").Data;
            var description            = Description.Create("This is the first talk").Data;
            var duration               = Duration.Create(TimeSpan.FromMinutes(30)).Data;        // 30 minutes
            var morningSessionDateTime = TalkStartTime.Create(DateTime.Today.AddHours(9)).Data; // 9AM

            var conference = Conference.Create(conferenceIdObj).Data;

            conference.AddTrack(trackIdObj);

            // Act
            var addTalkToTrackResult = conference.AddTalkToTrack(trackIdObj, talkIdObj, title, description, duration);

            // Assert
            Assert.IsTrue(addTalkToTrackResult.IsSuccess);
            var talkAddedToTrackEvent = conference.Events.OfType <TalkAddedToTrack>().FirstOrDefault();

            Assert.IsNotNull(talkAddedToTrackEvent);
            Assert.AreEqual(trackIdObj, talkAddedToTrackEvent.TrackId);
            Assert.AreEqual(talkIdObj, talkAddedToTrackEvent.TalkId);
            Assert.AreEqual(morningSessionDateTime, talkAddedToTrackEvent.StartTime);
            Assert.IsNull(addTalkToTrackResult.Error);
        }
        private static Result <TalkId> AddTalkToTrack(Conference conference, TrackId trackIdObj, Guid talkId, string title, string description, int durationInMinutes)
        {
            var talkIdObj      = TalkId.Create(talkId).Data;
            var titleObj       = Title.Create(title).Data;
            var descriptionObj = Description.Create(description).Data;
            var durationObj    = Duration.Create(TimeSpan.FromMinutes(durationInMinutes)).Data;

            return(conference.AddTalkToTrack(trackIdObj, talkIdObj, titleObj, descriptionObj, durationObj));
        }
Example #6
0
        public override int GetHashCode()
        {
            int hash = 1;

            if (SceneId != 0)
            {
                hash ^= SceneId.GetHashCode();
            }
            if (TalkId != 0)
            {
                hash ^= TalkId.GetHashCode();
            }
            if (SceneName.Length != 0)
            {
                hash ^= SceneName.GetHashCode();
            }
            if (HeadId != 0)
            {
                hash ^= HeadId.GetHashCode();
            }
            if (PicId != 0)
            {
                hash ^= PicId.GetHashCode();
            }
            if (Type != 0)
            {
                hash ^= Type.GetHashCode();
            }
            if (Blogger.Length != 0)
            {
                hash ^= Blogger.GetHashCode();
            }
            if (BtnTxt.Length != 0)
            {
                hash ^= BtnTxt.GetHashCode();
            }
            if (Content.Length != 0)
            {
                hash ^= Content.GetHashCode();
            }
            if (Reading != 0)
            {
                hash ^= Reading.GetHashCode();
            }
            if (Comments != 0)
            {
                hash ^= Comments.GetHashCode();
            }
            if (Likes != 0)
            {
                hash ^= Likes.GetHashCode();
            }
            hash ^= selectIds_.GetHashCode();
            return(hash);
        }
Example #7
0
        public override int GetHashCode()
        {
            int hash = 1;

            if (SceneId != 0)
            {
                hash ^= SceneId.GetHashCode();
            }
            if (TalkId != 0)
            {
                hash ^= TalkId.GetHashCode();
            }
            if (BgId != 0)
            {
                hash ^= BgId.GetHashCode();
            }
            if (MusicId.Length != 0)
            {
                hash ^= MusicId.GetHashCode();
            }
            if (Type != 0)
            {
                hash ^= Type.GetHashCode();
            }
            if (Content.Length != 0)
            {
                hash ^= Content.GetHashCode();
            }
            hash ^= selectIds_.GetHashCode();
            hash ^= selectContents_.GetHashCode();
            if (MusicLen != 0F)
            {
                hash ^= MusicLen.GetHashCode();
            }
            if (SceneName.Length != 0)
            {
                hash ^= SceneName.GetHashCode();
            }
            return(hash);
        }