Boy_Scouts_Scheduler.Models.SchedulingContext.Seed C# (CSharp) Метод

Seed() публичный Метод

public Seed ( ) : void
Результат void
        public void Seed()
        {
            //Seed Group Types to database
            GroupTypes.Add(new GroupType { Name = "Tiger" });
            GroupTypes.Add(new GroupType { Name = "Wolf" });
            GroupTypes.Add(new GroupType { Name = "Bear" });
            GroupTypes.Add(new GroupType { Name = "Webelos" });

            //Seed test event to database
            Events.Add(new Event
            {
                Name = "Dev Event",
                Start = new DateTime(2012, 3, 5),
                End = new DateTime(2012, 3, 9)
            });
            SaveChanges();

            //See test TimeSlots to database
            Event primaryEvent = Events.First();
            TimeSlots.Add(new TimeSlot
            {
                Event = primaryEvent,
                Name = "Mon: 9:00AM-10:00AM",
                Start = new DateTime(2012, 3, 5, 9, 0, 0),
                End = new DateTime(2012, 3, 5, 10, 00, 0)
            });
            TimeSlots.Add(new TimeSlot
            {
                Event = primaryEvent,
                Name = "Mon: 10:15AM-11:15PM",
                Start = new DateTime(2012, 3, 5, 10, 15, 0),
                End = new DateTime(2012, 3, 5, 11, 15, 0)
            });
            TimeSlots.Add(new TimeSlot
            {
                Event = primaryEvent,
                Name = "Mon: 11:30PM-12:30PM",
                Start = new DateTime(2012, 3, 5, 11, 30, 0),
                End = new DateTime(2012, 3, 5, 12, 30, 0)
            });
            TimeSlots.Add(new TimeSlot
            {
                Event = primaryEvent,
                Name = "Mon: 1:30PM-2:30PM",
                Start = new DateTime(2012, 3, 5, 13, 30, 0),
                End = new DateTime(2012, 3, 5, 14, 30, 0)
            });
            TimeSlots.Add(new TimeSlot
            {
                Event = primaryEvent,
                Name = "Mon: 2:45PM-3:45PM",
                Start = new DateTime(2012, 3, 5, 14, 45, 0),
                End = new DateTime(2012, 3, 5, 15, 45, 0)
            });
            TimeSlots.Add(new TimeSlot
            {
                Event = primaryEvent,
                Name = "Tues: 9:00AM-10:00AM",
                Start = new DateTime(2012, 3, 6, 9, 0, 0),
                End = new DateTime(2012, 3, 6, 10, 00, 0)
            });
            TimeSlots.Add(new TimeSlot
            {
                Event = primaryEvent,
                Name = "Tues: 10:15AM-11:15PM",
                Start = new DateTime(2012, 3, 6, 10, 15, 0),
                End = new DateTime(2012, 3, 6, 11, 15, 0)
            });
            TimeSlots.Add(new TimeSlot
            {
                Event = primaryEvent,
                Name = "Tues: 11:30PM-12:30PM",
                Start = new DateTime(2012, 3, 6, 11, 30, 0),
                End = new DateTime(2012, 3, 6, 12, 30, 0)
            });
            TimeSlots.Add(new TimeSlot
            {
                Event = primaryEvent,
                Name = "Tues: 1:30PM-2:30PM",
                Start = new DateTime(2012, 3, 6, 13, 30, 0),
                End = new DateTime(2012, 3, 6, 14, 30, 0)
            });
            TimeSlots.Add(new TimeSlot
            {
                Event = primaryEvent,
                Name = "Tues: 2:45PM-3:45PM",
                Start = new DateTime(2012, 3, 6, 14, 45, 0),
                End = new DateTime(2012, 3, 6, 15, 45, 0)
            });
            TimeSlots.Add(new TimeSlot
            {
                Event = primaryEvent,
                Name = "Wed: 9:00AM-10:00AM",
                Start = new DateTime(2012, 3, 7, 9, 0, 0),
                End = new DateTime(2012, 3, 7, 10, 00, 0)
            });
            TimeSlots.Add(new TimeSlot
            {
                Event = primaryEvent,
                Name = "Wed: 10:15AM-11:15PM",
                Start = new DateTime(2012, 3, 7, 10, 15, 0),
                End = new DateTime(2012, 3, 7, 11, 15, 0)
            });
            TimeSlots.Add(new TimeSlot
            {
                Event = primaryEvent,
                Name = "Wed: 11:30PM-12:30PM",
                Start = new DateTime(2012, 3, 7, 11, 30, 0),
                End = new DateTime(2012, 3, 7, 12, 30, 0)
            });
            TimeSlots.Add(new TimeSlot
            {
                Event = primaryEvent,
                Name = "Wed: 1:30PM-2:30PM",
                Start = new DateTime(2012, 3, 7, 13, 30, 0),
                End = new DateTime(2012, 3, 7, 14, 30, 0)
            });
            TimeSlots.Add(new TimeSlot
            {
                Event = primaryEvent,
                Name = "Wed: 2:45PM-3:45PM",
                Start = new DateTime(2012, 3, 7, 14, 45, 0),
                End = new DateTime(2012, 3, 7, 15, 45, 0)
            });
            TimeSlots.Add(new TimeSlot
            {
                Event = primaryEvent,
                Name = "Thurs: 9:00AM-10:00AM",
                Start = new DateTime(2012, 3, 8, 9, 0, 0),
                End = new DateTime(2012, 3, 8, 10, 00, 0)
            });
            TimeSlots.Add(new TimeSlot
            {
                Event = primaryEvent,
                Name = "Thurs: 10:15AM-11:15PM",
                Start = new DateTime(2012, 3, 8, 10, 15, 0),
                End = new DateTime(2012, 3, 8, 11, 15, 0)
            });
            TimeSlots.Add(new TimeSlot
            {
                Event = primaryEvent,
                Name = "Thurs: 11:30PM-12:30PM",
                Start = new DateTime(2012, 3, 8, 11, 30, 0),
                End = new DateTime(2012, 3, 8, 12, 30, 0)
            });
            TimeSlots.Add(new TimeSlot
            {
                Event = primaryEvent,
                Name = "Thurs: 1:30PM-2:30PM",
                Start = new DateTime(2012, 3, 8, 13, 30, 0),
                End = new DateTime(2012, 3, 8, 14, 30, 0)
            });
            TimeSlots.Add(new TimeSlot
            {
                Event = primaryEvent,
                Name = "Thurs: 2:45PM-3:45PM",
                Start = new DateTime(2012, 3, 8, 14, 45, 0),
                End = new DateTime(2012, 3, 8, 15, 45, 0)
            });
            TimeSlots.Add(new TimeSlot
            {
                Event = primaryEvent,
                Name = "Fri: 9:00AM-10:00AM",
                Start = new DateTime(2012, 3, 9, 9, 0, 0),
                End = new DateTime(2012, 3, 9, 10, 00, 0)
            });
            TimeSlots.Add(new TimeSlot
            {
                Event = primaryEvent,
                Name = "Fri: 10:15AM-11:15PM",
                Start = new DateTime(2012, 3, 9, 10, 15, 0),
                End = new DateTime(2012, 3, 9, 11, 15, 0)
            });
            TimeSlots.Add(new TimeSlot
            {
                Event = primaryEvent,
                Name = "Fri: 11:30PM-12:30PM",
                Start = new DateTime(2012, 3, 9, 11, 30, 0),
                End = new DateTime(2012, 3, 9, 12, 30, 0)
            });
            TimeSlots.Add(new TimeSlot
            {
                Event = primaryEvent,
                Name = "Fri: 1:30PM-2:30PM",
                Start = new DateTime(2012, 3, 9, 13, 30, 0),
                End = new DateTime(2012, 3, 9, 14, 30, 0)
            });
            TimeSlots.Add(new TimeSlot
            {
                Event = primaryEvent,
                Name = "Fri: 2:45PM-3:45PM",
                Start = new DateTime(2012, 3, 9, 14, 45, 0),
                End = new DateTime(2012, 3, 9, 15, 45, 0)
            });

            SaveChanges();
            //create ICollection for time slots for each station
            ICollection<TimeSlot> timeslots = TimeSlots.ToList();

            TimeSlots.Add(new TimeSlot
            {
                Event = primaryEvent,
                Name = "Mon Lunch",
                Start = new DateTime(2012, 3, 5, 12, 30, 0),
                End = new DateTime(2012, 3, 5, 13, 30, 0),
                isGeneral = true
            });
            TimeSlots.Add(new TimeSlot
            {
                Event = primaryEvent,
                Name = "Tues Lunch",
                Start = new DateTime(2012, 3, 6, 12, 30, 0),
                End = new DateTime(2012, 3, 6, 13, 30, 0),
                isGeneral = true
            });
            TimeSlots.Add(new TimeSlot
            {
                Event = primaryEvent,
                Name = "Wed Lunch",
                Start = new DateTime(2012, 3, 7, 12, 30, 0),
                End = new DateTime(2012, 3, 7, 13, 30, 0),
                isGeneral = true
            });
            TimeSlots.Add(new TimeSlot
            {
                Event = primaryEvent,
                Name = "Thurs Lunch",
                Start = new DateTime(2012, 3, 8, 12, 30, 0),
                End = new DateTime(2012, 3, 8, 13, 30, 0),
                isGeneral = true
            });
            TimeSlots.Add(new TimeSlot
            {
                Event = primaryEvent,
                Name = "Fri Lunch",
                Start = new DateTime(2012, 3, 9, 12, 30, 0),
                End = new DateTime(2012, 3, 9, 13, 30, 0),
                isGeneral = true
            });
            SaveChanges();

            //Seed testing stations to database
            Stations.Add(new Station
            {
                Event = primaryEvent,
                Name = "Fishing",
                Description = "",
                Location = "",
                Capacity = 1,
                AvailableTimeSlots = timeslots
            });
            Stations.Add(new Station
            {
                Event = primaryEvent,
                Name = "Knots",
                Description = "",
                Location = "",
                Capacity = 1,
                AvailableTimeSlots = timeslots
            });
            Stations.Add(new Station
            {
                Event = primaryEvent,
                Name = "Songs & Skits",
                Description = "",
                Location = "",
                Capacity = 1,
                AvailableTimeSlots = timeslots
            });
            Stations.Add(new Station
            {
                Event = primaryEvent,
                Name = "Wood Projects",
                Description = "",
                Location = "",
                Capacity = 1,
                AvailableTimeSlots = timeslots
            });
            Stations.Add(new Station
            {
                Event = primaryEvent,
                Name = "Outdoor Cooking",
                Description = "",
                Location = "",
                Capacity = 1,
                AvailableTimeSlots = timeslots
            });
            Stations.Add(new Station
            {
                Event = primaryEvent,
                Name = "Arts & Crafts",
                Description = "",
                Location = "",
                Capacity = 1,
                AvailableTimeSlots = timeslots
            });
            Stations.Add(new Station
            {
                Event = primaryEvent,
                Name = "Creeking",
                Description = "",
                Location = "",
                Capacity = 1,
                AvailableTimeSlots = timeslots
            });
            Stations.Add(new Station
            {
                Event = primaryEvent,
                Name = "Chess",
                Description = "",
                Location = "",
                Capacity = 1,
                AvailableTimeSlots = timeslots
            });
            Stations.Add(new Station
            {
                Event = primaryEvent,
                Name = "Knight Training",
                Description = "",
                Location = "",
                Capacity = 1,
                AvailableTimeSlots = timeslots
            });
            Stations.Add(new Station
            {
                Event = primaryEvent,
                Name = "Volleyball",
                Description = "",
                Location = "",
                Capacity = 1,
                AvailableTimeSlots = timeslots
            });
            Stations.Add(new Station
            {
                Event = primaryEvent,
                Name = "Flag Football",
                Description = "",
                Location = "",
                Capacity = 1,
                AvailableTimeSlots = timeslots
            });
            Stations.Add(new Station
            {
                Event = primaryEvent,
                Name = "Trading Post",
                Description = "",
                Location = "",
                Capacity = 1,
                AvailableTimeSlots = timeslots
            });
            Stations.Add(new Station
            {
                Event = primaryEvent,
                Name = "Craftsman Activity Pin",
                Description = "",
                Location = "",
                Capacity = 1,
                isActivityPin = true,
                AvailableTimeSlots = timeslots
            });
            Stations.Add(new Station
            {
                Event = primaryEvent,
                Name = "Forester Activity Pin",
                Description = "",
                Location = "",
                Capacity = 1,
                isActivityPin = true,
                AvailableTimeSlots = timeslots
            });
            Stations.Add(new Station
            {
                Event = primaryEvent,
                Name = "Naturalist Activity Pin",
                Description = "",
                Location = "",
                Capacity = 1,
                isActivityPin = true,
                AvailableTimeSlots = timeslots
            });
            Stations.Add(new Station
            {
                Event = primaryEvent,
                Name = "Artist Activity Pin",
                Description = "",
                Location = "",
                Capacity = 1,
                isActivityPin = true,
                AvailableTimeSlots = timeslots
            });
            Stations.Add(new Station
            {
                Event = primaryEvent,
                Name = "Aquanaut Activity Pin",
                Description = "",
                Location = "",
                Capacity = 1,
                isActivityPin = true,
                AvailableTimeSlots = timeslots
            });
            Stations.Add(new Station
            {
                Event = primaryEvent,
                Name = "BB",
                Description = "",
                Location = "",
                Capacity = 1,
                Category = "Shooting",
                AvailableTimeSlots = timeslots
            });
            Stations.Add(new Station
            {
                Event = primaryEvent,
                Name = "Archery",
                Description = "",
                Location = "",
                Capacity = 1,
                Category = "Shooting",
                AvailableTimeSlots = timeslots
            });
            Stations.Add(new Station
            {
                Event = primaryEvent,
                Name = "Swimming",
                Description = "",
                Location = "",
                Capacity = 1,
                AvailableTimeSlots = timeslots
            });
            Stations.Add(new Station
            {
                Event = primaryEvent,
                Name = "Kickball",
                Description = "",
                Location = "",
                Capacity = 1,
                AvailableTimeSlots = timeslots
            });
            Stations.Add(new Station
            {
                Event = primaryEvent,
                Name = "Leaf Rubbing",
                Description = "",
                Location = "",
                Capacity = 1,
                AvailableTimeSlots = timeslots
            });
            SaveChanges();

            ////Seed groups
            Groups.Add(new Group
            {
                Event = primaryEvent,
                Name = "Sir Tegyr",
                Type = GroupTypes.Where(t => t.ID == 1).Single(),
                Preference1 = null,
                Preference2 = null,
                Preference3 = null
            });
            Groups.Add(new Group
            {
                Event = primaryEvent,
                Name = "Sir Galahad",
                Type = GroupTypes.Where(t => t.ID == 2).Single(),
                Preference1 = null,
                Preference2 = null,
                Preference3 = null
            });
            Groups.Add(new Group
            {
                Event = primaryEvent,
                Name = "Sir Gawain",
                Type = GroupTypes.Where(t => t.ID == 2).Single(),
                Preference1 = null,
                Preference2 = null,
                Preference3 = null
            });
            Groups.Add(new Group
            {
                Event = primaryEvent,
                Name = "Sir Gareth",
                Type = GroupTypes.Where(t => t.ID == 2).Single(),
                Preference1 = null,
                Preference2 = null,
                Preference3 = null
            });
            Groups.Add(new Group
            {
                Event = primaryEvent,
                Name = "Sir Bors de Ganis",
                Type = GroupTypes.Where(t => t.ID == 2).Single(),
                Preference1 = null,
                Preference2 = null,
                Preference3 = null
            });
            Groups.Add(new Group
            {
                Event = primaryEvent,
                Name = "Sir Kay",
                Type = GroupTypes.Where(t => t.ID == 3).Single(),
                Preference1 = null,
                Preference2 = null,
                Preference3 = null
            });
            Groups.Add(new Group
            {
                Event = primaryEvent,
                Name = "Sir Gaheris",
                Type = GroupTypes.Where(t => t.ID == 3).Single(),
                Preference1 = null,
                Preference2 = null,
                Preference3 = null
            });
            Groups.Add(new Group
            {
                Event = primaryEvent,
                Name = "Sir Percivale",
                Type = GroupTypes.Where(t => t.ID == 3).Single(),
                Preference1 = null,
                Preference2 = null,
                Preference3 = null
            });
            Groups.Add(new Group
            {
                Event = primaryEvent,
                Name = "Sir Lionel",
                Type = GroupTypes.Where(t => t.ID == 3).Single(),
                Preference1 = null,
                Preference2 = null,
                Preference3 = null
            });
            Groups.Add(new Group
            {
                Event = primaryEvent,
                Name = "Sir Tristan",
                Type = GroupTypes.Where(t => t.ID == 4).Single(),
                Preference1 = null,
                Preference2 = null,
                Preference3 = null
            });
            Groups.Add(new Group
            {
                Event = primaryEvent,
                Name = "Sir Bedivere",
                Type = GroupTypes.Where(t => t.ID == 4).Single(),
                Preference1 = null,
                Preference2 = null,
                Preference3 = null
            });
            Groups.Add(new Group
            {
                Event = primaryEvent,
                Name = "Sir Dagonet",
                Type = GroupTypes.Where(t => t.ID == 4).Single(),
                Preference1 = null,
                Preference2 = null,
                Preference3 = null
            });
            Groups.Add(new Group
            {
                Event = primaryEvent,
                Name = "Sir Geriant",
                Type = GroupTypes.Where(t => t.ID == 4).Single(),
                Preference1 = null,
                Preference2 = null,
                Preference3 = null
            });
            Groups.Add(new Group
            {
                Event = primaryEvent,
                Name = "Sir Lamorak",
                Type = GroupTypes.Where(t => t.ID == 4).Single(),
                Preference1 = null,
                Preference2 = null,
                Preference3 = null
            });
            Groups.Add(new Group
            {
                Event = primaryEvent,
                Name = "Sir Lancelot",
                Type = GroupTypes.Where(t => t.ID == 4).Single(),
                Preference1 = null,
                Preference2 = null,
                Preference3 = null
            });
            SaveChanges();

            // Seed Constraints
            SchedulingConstraints.Add(new SchedulingConstraint
            {
                Event = primaryEvent,
                GroupType = GroupTypes.Where(t => t.ID == 1).Single(),
                Group = null,
                Station = Stations.Where(s => s.ID == 1).Single(),
            });
            SchedulingConstraints.Add(new SchedulingConstraint
            {
                Event = primaryEvent,
                GroupType = null,
                Group = Groups.Where(g => g.ID == 2).Single(),
                Station = Stations.Where(s => s.ID == 2).Single(),
            });
            SaveChanges();
        }