public void OneCalendarFullyBooked() { var calendar1 = new Calendar() { WorkingHours = new Duration(new TimeSpan(9, 0, 0), new TimeSpan(19, 55, 0)) }; var calendar2 = new Calendar() { WorkingHours = new Duration(new TimeSpan(10, 0, 0), new TimeSpan(18, 30, 0)) }; calendar1.PlannedMeetings.Add(new Duration(new TimeSpan(9, 0, 0), new TimeSpan(12, 0, 0))); calendar1.PlannedMeetings.Add(new Duration(new TimeSpan(12, 0, 0), new TimeSpan(16, 0, 0))); calendar1.PlannedMeetings.Add(new Duration(new TimeSpan(16, 0, 0), new TimeSpan(18, 0, 0))); calendar1.PlannedMeetings.Add(new Duration(new TimeSpan(18, 0, 0), new TimeSpan(19, 55, 0))); calendar2.PlannedMeetings.Add(new Duration(new TimeSpan(10, 0, 0), new TimeSpan(11, 30, 0))); calendar2.PlannedMeetings.Add(new Duration(new TimeSpan(12, 30, 0), new TimeSpan(14, 30, 0))); calendar2.PlannedMeetings.Add(new Duration(new TimeSpan(14, 30, 0), new TimeSpan(15, 0, 0))); calendar2.PlannedMeetings.Add(new Duration(new TimeSpan(16, 0, 0), new TimeSpan(17, 0, 0))); var expectedOutput = "[]"; var output = MeetingPlanner.GetPossibleMeetingTimes(calendar1, calendar2, new TimeSpan(0, 30, 0)); Assert.Equal(expectedOutput, MeetingPlanner.FormatOutput(output)); }
public void ExampleCase() { var calendar1 = new Calendar() { WorkingHours = new Duration(new TimeSpan(9, 0, 0), new TimeSpan(19, 55, 0)) }; var calendar2 = new Calendar() { WorkingHours = new Duration(new TimeSpan(10, 0, 0), new TimeSpan(18, 30, 0)) }; calendar1.PlannedMeetings.Add(new Duration(new TimeSpan(9, 0, 0), new TimeSpan(10, 30, 0))); calendar1.PlannedMeetings.Add(new Duration(new TimeSpan(12, 0, 0), new TimeSpan(13, 0, 0))); calendar1.PlannedMeetings.Add(new Duration(new TimeSpan(16, 0, 0), new TimeSpan(18, 0, 0))); calendar2.PlannedMeetings.Add(new Duration(new TimeSpan(10, 0, 0), new TimeSpan(11, 30, 0))); calendar2.PlannedMeetings.Add(new Duration(new TimeSpan(12, 30, 0), new TimeSpan(14, 30, 0))); calendar2.PlannedMeetings.Add(new Duration(new TimeSpan(14, 30, 0), new TimeSpan(15, 0, 0))); calendar2.PlannedMeetings.Add(new Duration(new TimeSpan(16, 0, 0), new TimeSpan(17, 0, 0))); var expectedOutput = "[[\"11:30\",\"12:00\"],[\"15:00\",\"16:00\"],[\"18:00\",\"18:30\"]]"; var output = MeetingPlanner.GetPossibleMeetingTimes(calendar1, calendar2, new TimeSpan(0, 30, 0)); Assert.Equal(expectedOutput, MeetingPlanner.FormatOutput(output)); }
public void EmptyCalendars() { var expectedOutput = "[]"; var output = MeetingPlanner.GetPossibleMeetingTimes(new Calendar(), new Calendar(), new TimeSpan(0, 30, 0)); Assert.Equal(expectedOutput, MeetingPlanner.FormatOutput(output)); }
public async Task <IActionResult> OnGetAsync(int?id) { if (id == null) { return(NotFound()); } MeetingPlanner = await _context.MeetingPlanner.FirstOrDefaultAsync(m => m.MeetingPlannerID == id); if (MeetingPlanner == null) { return(NotFound()); } return(Page()); }
public void WorkingHoursNotOverlapping() { var calendar1 = new Calendar() { WorkingHours = new Duration(new TimeSpan(5, 30, 0), new TimeSpan(12, 0, 0)) }; var calendar2 = new Calendar() { WorkingHours = new Duration(new TimeSpan(12, 30, 0), new TimeSpan(20, 30, 0)) }; var expectedOutput = "[]"; var output = MeetingPlanner.GetPossibleMeetingTimes(calendar1, calendar2, new TimeSpan(0, 30, 0)); Assert.Equal(expectedOutput, MeetingPlanner.FormatOutput(output)); }
public async Task <IActionResult> OnPostAsync(int?id) { if (id == null) { return(NotFound()); } MeetingPlanner = await _context.MeetingPlanner.FindAsync(id); if (MeetingPlanner != null) { _context.MeetingPlanner.Remove(MeetingPlanner); await _context.SaveChangesAsync(); } return(RedirectToPage("./Index")); }
public static void Initialize(SacramentMeetingPlanner_SundayContext context) { if (context.MeetingPlanner.Any()) { return; } var planArrays = new MeetingPlanner[] { new MeetingPlanner { MeetingDate = DateTime.Parse("2020-12-20"), ConductingLeader = "Brother Matthew Bachelor", OpeningHymnNumber = 26, OpeningHymnTitle = "Oh! How Lovely was the Morning", OpeningPrayer = "Mary Coker", SacramentHymnNumber = 196, SacramentHymnTitle = "Jesus Once of Humble Birth", IntermediateHymnNumber = 70, IntermediateHymnTitle = "Sing Praise to Him", ClosingHymnNumber = 166, ClosingHymnTitle = "Abide with Me", ClosingPrayer = "Martin Oakley" }, new MeetingPlanner { MeetingDate = DateTime.Parse("2020-12-27"), ConductingLeader = "Bishop Samuel Ammon", OpeningHymnNumber = 201, OpeningHymnTitle = "Joy to the World", OpeningPrayer = "Michael Anthony", SacramentHymnNumber = 193, SacramentHymnTitle = "I Stand All Amaze", IntermediateHymnNumber = 202, IntermediateHymnTitle = "Oh, Come all ye Faithful", ClosingHymnNumber = 204, ClosingHymnTitle = "Silent Night", ClosingPrayer = "Angela Morrison" } }; foreach (MeetingPlanner planner in planArrays) { context.MeetingPlanner.Add(planner); } context.SaveChanges(); var speakerArrays = new MeetingSpeaker[] { new MeetingSpeaker { MeetingPlannerID = planArrays.Single(c => c.MeetingDate == DateTime.Parse("2020-12-20")).MeetingPlannerID, MeetingSpeakerName = "Akins Smith", MeetingSpeakerTopic = "Joseph Smith: The Prophet of the Restoration" }, new MeetingSpeaker { MeetingPlannerID = planArrays.Single(c => c.MeetingDate == DateTime.Parse("2020-12-20")).MeetingPlannerID, MeetingSpeakerName = "Jayden Sabbath", MeetingSpeakerTopic = "The Living Prophets Today" }, new MeetingSpeaker { MeetingPlannerID = planArrays.Single(c => c.MeetingDate == DateTime.Parse("2020-12-20")).MeetingPlannerID, MeetingSpeakerName = "Maxwell Allstar", MeetingSpeakerTopic = "We Listen to a Prophet Voice" }, new MeetingSpeaker { MeetingPlannerID = planArrays.Single(c => c.MeetingDate == DateTime.Parse("2020-12-27")).MeetingPlannerID, MeetingSpeakerName = "Jeremiah Ussher", MeetingSpeakerTopic = "The Birth of Jesus Christ" }, new MeetingSpeaker { MeetingPlannerID = planArrays.Single(c => c.MeetingDate == DateTime.Parse("2020-12-27")).MeetingPlannerID, MeetingSpeakerName = "Dora Cobblah", MeetingSpeakerTopic = "The Life of Jesus Christ" }, new MeetingSpeaker { MeetingPlannerID = planArrays.Single(c => c.MeetingDate == DateTime.Parse("2020-12-27")).MeetingPlannerID, MeetingSpeakerName = "Alexander Aikins", MeetingSpeakerTopic = "The Atonement of Jesus Christ" } }; foreach (MeetingSpeaker speaker in speakerArrays) { context.MeetingSpeaker.Add(speaker); } context.SaveChanges(); }