Example #1
0
        public void PopulateEventsDropDownList(BPA_TrackerContext _context,
                                               object selectedEvent = null)
        {
            var EventsQuery = from d in _context.Event
                              orderby d.EventName  // Sort by name.
                              select d;

            EventNameSL = new SelectList(EventsQuery.AsNoTracking(),
                                         "EventID", "EventName", selectedEvent);
        }
Example #2
0
        public void PopulateAssignedEventData(BPA_TrackerContext context, Student Student)
        {
            var allEvents     = context.Event;
            var StudentEvents = new HashSet <int>(
                Student.AssignEvents.Select(c => c.EventID));

            AssignedEventDataList = new List <AssignedEventData>();
            foreach (var Event in allEvents)
            {
                AssignedEventDataList.Add(new AssignedEventData
                {
                    EventID   = Event.EventID,
                    EventName = Event.EventName,
                    Assigned  = StudentEvents.Contains(Event.EventID)
                });
            }
        }
Example #3
0
        public void UpdateStudentEvents(BPA_TrackerContext context,
                                        string[] selectedEvents, Student StudentToUpdate)
        {
            if (selectedEvents == null)
            {
                StudentToUpdate.AssignEvents = new List <AssignEvent>();
                return;
            }

            var selectedEventsHS = new HashSet <string>(selectedEvents);
            var StudentEvents    = new HashSet <int>
                                       (StudentToUpdate.AssignEvents.Select(c => c.Event.EventID));

            foreach (var Event in context.Event)
            {
                if (selectedEventsHS.Contains(Event.EventID.ToString()))
                {
                    if (!StudentEvents.Contains(Event.EventID))
                    {
                        StudentToUpdate.AssignEvents.Add(
                            new AssignEvent
                        {
                            StudentID = StudentToUpdate.StudentID,
                            EventID   = Event.EventID
                        });
                    }
                }
                else
                {
                    if (StudentEvents.Contains(Event.EventID))
                    {
                        AssignEvent EventToRemove
                            = StudentToUpdate
                              .AssignEvents
                              .SingleOrDefault(i => i.EventID == Event.EventID);
                        context.Remove(EventToRemove);
                    }
                }
            }
        }