public BannerModel Get() { var conference = conferenceLoader.LoadConference(); if (conference == null) { return(new BannerModel()); } DateTimeOffset submissionCloses = DateTimeOffset.Now.AddDays(-1); DateTimeOffset votingCloses = DateTimeOffset.Now.AddDays(-1); var allDates = calendarItemRepository.GetAll().ToDictionary(c => c.EntryType, c => c); var submission = allDates[CalendarEntryType.SessionSubmission]; if (submission != null && submission.EndDate.HasValue) { submissionCloses = submission.EndDate.Value; } var voting = allDates[CalendarEntryType.Voting]; if (voting != null && voting.EndDate.HasValue) { votingCloses = voting.EndDate.Value; } return(new BannerModel { IsOpenForSubmission = conference.CanSubmit(), IsOpenForVoting = conference.CanVote(), SessionSubmissionCloses = submissionCloses.ToString("R"), VotingCloses = votingCloses.ToString("R") }); }
public Domain.Conference Build(Conference item) { var conference = new Domain.Conference(item.ConferenceId, item.Name, item.ShortName, item.NumberOfTimeSlots, item.NumberOfTracks, item.AnonymousSessions); var calendarItems = calendarItemRepository.GetAll(); foreach (var calendarItem in calendarItems) { var calendarEntry = calendarEntryBuilder.Build(calendarItem); conference.AddToCalendar(calendarEntry); } return(conference); }
public void Given_A_DataModel_With_An_Open_Publishing_The_Agenda_Calendar_Item() { _calendarItemRepository = Substitute.For<ICalendarItemRepository>(); _calendarItemRepository.GetAll().Returns(new List<CalendarItem> { new CalendarItem { EntryType = CalendarEntryType.SessionSubmission, Authorised = true, StartDate = DateTimeOffset.Now.AddDays(-2), EndDate = DateTimeOffset.Now.AddDays(-1) }, new CalendarItem { EntryType = CalendarEntryType.Voting, Authorised = true, StartDate = DateTimeOffset.Now.AddDays(-2), EndDate = DateTimeOffset.Now.AddDays(-1) }, new CalendarItem { EntryType = CalendarEntryType.AgendaPublished, Authorised = true, StartDate = DateTimeOffset.Now.AddDays(-2), EndDate = null } }); _source = new DDDEastAnglia.DataAccess.SimpleData.Models.Conference { ConferenceId = 1, Name = "", ShortName = "" }; }
private void Given_A_DataModel_With_No_CalendarItems() { _calendarItemRepository = Substitute.For<ICalendarItemRepository>(); _calendarItemRepository.GetAll().Returns(new CalendarItem[0]); _source = new DDDEastAnglia.DataAccess.SimpleData.Models.Conference { ConferenceId = 1, Name = "", ShortName = "" }; }