Beispiel #1
0
        // GET: Coaches
        //[Authorize]
        public ActionResult Index(int?id, int?EventId)
        {
            // add view model
            var viewModel = new CoachIndexData();

            // get all coach
            viewModel.Coaches = db.Coach
                                .Include(i => i.CoachId)
                                .Include(i => i.Dob)
                                .Include(i => i.Name)
                                .Include(i => i.Biography);

            // if id is not null get events that coach handles
            if (id != null)
            {
                ViewBag.Coach    = id.Value;
                viewModel.Events = db.Event
                                   .Include(i => i.EventId)
                                   .Include(i => i.Name)
                                   .Include(i => i.Description)
                                   .Include(i => i.Date)
                                   .Where(i => i.Coach == id.Value);
            }

            // if eventId is not null get all of the members that is enrolled in the event
            if (EventId != null)
            {
                ViewBag.EventId   = EventId.Value;
                viewModel.Members = (from m in db.Member
                                     join s in db.Schedule on m.MemberId equals s.MemberId
                                     where s.EventId == EventId.Value
                                     select new Member
                {
                    Name = m.Name,
                    Dob = m.Dob,
                    emailId = m.emailId,
                    Gender = m.Gender,
                    MemberId = m.MemberId
                });
            }

            // return records
            return(View(viewModel));
        }
Beispiel #2
0
        public async Task OnGetAsync(int?id, int?courseID)
        {
            CoachData         = new CoachIndexData();
            CoachData.Coaches = await _context.Coaches
                                .Include(i => i.OfficeAssignment)
                                .Include(i => i.TeamAssignments)
                                .ThenInclude(i => i.Team)
                                .ThenInclude(i => i.Department)
                                //.Include(i => i.CourseAssignments)
                                //    .ThenInclude(i => i.Course)
                                //        .ThenInclude(i => i.Enrollments)
                                //            .ThenInclude(i => i.Student)
                                //.AsNoTracking()
                                .OrderBy(i => i.LastName)
                                .ToListAsync();

            if (id != null)
            {
                CoachID = id.Value;
                Coach coach = CoachData.Coaches
                              .Where(i => i.ID == id.Value).Single();
                CoachData.Teams = coach.TeamAssignments.Select(s => s.Team);
            }

            if (courseID != null)
            {
                TeamID = courseID.Value;
                var selectedCourse = CoachData.Teams
                                     .Where(x => x.TeamID == courseID).Single();
                await _context.Entry(selectedCourse).Collection(x => x.Contracts).LoadAsync();

                foreach (Contract enrollment in selectedCourse.Contracts)
                {
                    await _context.Entry(enrollment).Reference(x => x.Player).LoadAsync();
                }
                CoachData.Contracts = selectedCourse.Contracts;
            }
        }
Beispiel #3
0
        // GET: Coach
        public ActionResult Index(int?id, int?activityID)
        {
            var viewModel = new CoachIndexData();

            viewModel.Coachs = db.Coachs
                               .Include(c => c.Activities.Select(m => m.Members))
                               .OrderBy(c => c.LastName);

            if (id != null)
            {
                ViewBag.CoachID      = id.Value;
                viewModel.Activities = viewModel.Coachs.Where(
                    c => c.CoachID == id.Value).Single().Activities;
            }

            if (activityID != null)
            {
                ViewBag.ActivityID = activityID.Value;
                //// Lazy loading
                //viewModel.Activities = viewModel.Members.Where(
                //    m => m.MemberID == id.Value).Single().Activities;

                // Explicit loading
                var selectedActivity = viewModel.Activities.Where(x => x.ActivityID == activityID).Single();
                db.Entry(selectedActivity).Collection(x => x.Members).Load();

                foreach (Member member in selectedActivity.Members)
                {
                    db.Entry(member).Collection(x => x.Activities).Load();
                }

                viewModel.Members = selectedActivity.Members;
            }

            return(View(viewModel));
        }