public async Task <IActionResult> OnGetAsync(int?id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            var instructorClient = new OpenHack.University.Services.Instructor.InstructorClient();

            var instructorContract = await instructorClient.GetByIdAsync(id.Value);

            Instructor = new Instructor()
            {
                FirstMidName = instructorContract.FirstMidName,
                HireDate     = instructorContract.HireDate,
                ID           = instructorContract.ID,
                LastName     = instructorContract.LastName,
            };



            if (Instructor == null)
            {
                return(NotFound());
            }
            return(Page());
        }
        private IActionResult HandleDeletedDepartment()
        {
            OpenHack.University.Services.Instructor.InstructorClient instructorClient = new OpenHack.University.Services.Instructor.InstructorClient();
            var instructorListContract = instructorClient.SearchAsync().Result;
            var instructors            = new List <Instructor>();

            foreach (var instructor in instructorListContract)
            {
                instructors.Add(new Instructor()
                {
                    FirstMidName = instructor.FirstMidName,
                    HireDate     = instructor.HireDate,
                    ID           = instructor.ID,
                    LastName     = instructor.LastName
                });
            }

            var deletedDepartment = new Department();

            // ModelState contains the posted data because of the deletion error
            // and will overide the Department instance values when displaying Page().
            ModelState.AddModelError(string.Empty,
                                     "Unable to save. The department was deleted by another user.");
            InstructorNameSL = new SelectList(instructors, "ID", "FullName", Department.InstructorID);
            return(Page());
        }
        public async Task <IActionResult> OnGetAsync(int id)
        {
            OpenHack.University.Services.Department.DepartmentClient departmentClient = new OpenHack.University.Services.Department.DepartmentClient();
            var departmentContract = await departmentClient.GetByIdAsync(id);

            Department = new Department()
            {
                Budget       = departmentContract.Budget,
                DepartmentID = departmentContract.DepartmentID,
                InstructorID = departmentContract.InstructorID,
                Name         = departmentContract.Name,
                StartDate    = departmentContract.StartDate
            };

            if (Department == null)
            {
                return(NotFound());
            }


            OpenHack.University.Services.Instructor.InstructorClient instructorClient = new OpenHack.University.Services.Instructor.InstructorClient();
            var instructorListContract = await instructorClient.SearchAsync();

            var instructors = new List <Instructor>();

            foreach (var instructor in instructorListContract)
            {
                instructors.Add(new Instructor()
                {
                    FirstMidName = instructor.FirstMidName,
                    HireDate     = instructor.HireDate,
                    ID           = instructor.ID,
                    LastName     = instructor.LastName
                });
            }
            // Use strongly typed data rather than ViewData.
            InstructorNameSL = new SelectList(instructors,
                                              "ID", "FirstMidName");

            return(Page());
        }
        public IActionResult OnGet()
        {
            OpenHack.University.Services.Instructor.InstructorClient instructorClient = new OpenHack.University.Services.Instructor.InstructorClient();

            var instructorListContract = instructorClient.SearchAsync().Result;

            var instructors = new List <Instructor>();

            foreach (var instructor in instructorListContract)
            {
                instructors.Add(new Instructor()
                {
                    FirstMidName = instructor.FirstMidName,
                    HireDate     = instructor.HireDate,
                    ID           = instructor.ID,
                    LastName     = instructor.LastName
                });
            }

            ViewData["InstructorID"] = new SelectList(instructors, "ID", "FirstMidName");
            return(Page());
        }
示例#5
0
        public async Task OnGetAsync(int?id, int?courseID)
        {
            InstructorData = new InstructorIndexData();

            Services.Instructor.InstructorClient instructorClient = new OpenHack.University.Services.Instructor.InstructorClient();
            instructorClient.Endpoint.Address = new System.ServiceModel.EndpointAddress(webserviceUrl);
            var instructorListContract = await instructorClient.SearchAsync();

            var instructors = new List <Instructor>();

            foreach (var instructorContract in instructorListContract)
            {
                var instructor = new Instructor()
                {
                    FirstMidName      = instructorContract.FirstMidName,
                    HireDate          = instructorContract.HireDate,
                    ID                = instructorContract.ID,
                    LastName          = instructorContract.LastName,
                    CourseAssignments = new List <CourseAssignment>(),
                    OfficeAssignment  = instructorContract.OfficeAssignment != null ? new OfficeAssignment()
                    {
                        Location = instructorContract.OfficeAssignment.Location
                    } : null
                };

                foreach (var courseAssignmentContract in instructorContract.CourseAssignments)
                {
                    var courseAssignment = new CourseAssignment()
                    {
                        CourseID     = courseAssignmentContract.CourseID,
                        InstructorID = courseAssignmentContract.InstructorID
                    };

                    if (courseAssignmentContract.Course != null)
                    {
                        courseAssignment.Course = new Course()
                        {
                            CourseID = courseAssignmentContract.Course.CourseID,
                            Title    = courseAssignmentContract.Course.Title
                        };
                    }

                    instructor.CourseAssignments.Add(courseAssignment);
                }
                instructors.Add(instructor);
            }

            InstructorData.Instructors = instructors;

            if (id != null)
            {
                InstructorID = id.Value;
                Instructor instructor = InstructorData.Instructors
                                        .Where(i => i.ID == id.Value).Single();
                InstructorData.Courses = instructor.CourseAssignments.Select(s => s.Course);
            }

            if (courseID != null)
            {
                CourseID = courseID.Value;
                //var selectedCourse = InstructorData.Courses
                //    .Where(x => x.CourseID == courseID).Single();
                //await _context.Entry(selectedCourse).Collection(x => x.Enrollments).LoadAsync();
                //foreach (Enrollment enrollment in selectedCourse.Enrollments)
                //{
                //    await _context.Entry(enrollment).Reference(x => x.Student).LoadAsync();
                //}
                //InstructorData.Enrollments = selectedCourse.Enrollments;
            }
        }