コード例 #1
0
ファイル: EventTests.cs プロジェクト: stringly/EventsCore
        public void Event_Given_Valid_Values_Is_Valid()
        {
            // Arrange
            string   newTitle         = "new title";
            string   newDescription   = "new description";
            int      validEventTypeId = 1;
            DateTime eventStart       = new DateTime(3000, 2, 1);
            DateTime eventEnd         = new DateTime(3000, 2, 2);
            DateTime regStart         = new DateTime(3000, 1, 1);
            DateTime regEnd           = new DateTime(3000, 1, 2);
            int      maxRegs          = 10;

            EventDates             eventDates = new EventDates(eventStart, eventEnd, regStart, regEnd); // value object for assertion
            EventRegistrationRules regRules   = new EventRegistrationRules(10);                         // value object for assertion

            // Act
            Event e = new Event(newTitle, newDescription, validEventTypeId, eventStart, eventEnd, regStart, regEnd, maxRegs);

            // Assert
            Assert.Equal("new title", e.Title);
            Assert.Equal("new description", e.Description);
            Assert.Equal(eventDates, e.Dates);
            Assert.Equal(regRules, e.Rules);
            Assert.Equal(1, e.EventTypeId);
            Assert.Null(e.EventSeriesId);
        }
コード例 #2
0
        private EventDates generateStartEnd(DateTime startDateTime, DateTime endDateTime)
        {
            EventDates eventDate = new EventDates();

            eventDate.StartDate = startDateTime;
            eventDate.EndDate   = endDateTime;
            return(eventDate);
        }
コード例 #3
0
        public UITableViewCell GetCell(UITableView tableView, NSIndexPath indexPath)
        {
            var startDate    = EventDates.ElementAt(indexPath.Section);
            var dateSessions = Sessions.Where(s => s.Starts.GetValueOrDefault().Date == startDate);
            var session      = dateSessions.ElementAt(indexPath.Row);
            var sc           = tableView.DequeueReusableCell("SessionCell", indexPath) as SessionCell;

            sc.Configure(session);
            return(sc);
        }
コード例 #4
0
        public void RowSelected(UITableView tableView, NSIndexPath indexPath)
        {
            var sc           = (tableView.CellAt(indexPath));
            var startDate    = EventDates.ElementAt(indexPath.Section);
            var dateSessions = Sessions.Where(s => s.Starts.GetValueOrDefault().Date == startDate);

            SelectedSession = dateSessions.ElementAt(indexPath.Row);
            if (SelectedSession.HasVideo)
            {
                PerformSegue("ShowSession", sc);
            }
        }
コード例 #5
0
        public void DidUpdateFocus(UITableView tableView, UITableViewFocusUpdateContext context, UIFocusAnimationCoordinator coordinator)
        {
            var sc = (context.NextFocusedItem as SessionCell);

            if (sc != null)
            {
                var indexPath    = tableView.IndexPathForCell(sc);
                var startDate    = EventDates.ElementAt(indexPath.Section);
                var dateSessions = Sessions.Where(s => s.Starts.GetValueOrDefault().Date == startDate);
                var session      = dateSessions.ElementAt(indexPath.Row);
                //
                trackLabel.Text          = $"Track: {session.Track ?? "-"}";
                startsLabel.Text         = $"Starts: {session.Starts.GetValueOrDefault().ToLongTimeString()}";
                descriptionTextView.Text = session.CleanBody;
            }
        }
コード例 #6
0
        public void EventDates_Given_Valid_Dates_Is_Valid()
        {
            // Arrange
            DateTime eventStart = new DateTime(3000, 2, 1);
            DateTime eventEnd   = new DateTime(3000, 2, 2);
            DateTime regStart   = new DateTime(3000, 1, 1);
            DateTime regEnd     = new DateTime(3000, 1, 15);

            // Act
            var eventDates = new EventDates(eventStart, eventEnd, regStart, regEnd);

            // Assert
            Assert.Equal(eventDates.StartDate, eventStart);
            Assert.Equal(eventDates.EndDate, eventEnd);
            Assert.Equal(eventDates.RegistrationStartDate, regStart);
            Assert.Equal(eventDates.RegistrationEndDate, regEnd);
        }
コード例 #7
0
        public string TitleForHeader(UITableView tableView, nint section)
        {
            var startDate = EventDates.ElementAt((int)section);

            return(startDate.Date.ToLongDateString());
        }
コード例 #8
0
        public nint RowsInSection(UITableView tableView, nint section)
        {
            var startDate = EventDates.ElementAt((int)section);

            return(Sessions.Count(s => s.Starts.GetValueOrDefault().Date == startDate));
        }