Пример #1
0
        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));
        }
Пример #2
0
        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));
        }
Пример #3
0
        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());
        }
Пример #5
0
        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"));
        }
Пример #7
0
        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();
        }