public async Task <IActionResult> OnPostAsync()
        {
            var emptyCourse  = new Course();
            var courseClient = new Services.Course.CourseClient();

            courseClient.Endpoint.Address = new System.ServiceModel.EndpointAddress(webserviceUrl);

            var departmentClient = new Services.Department.DepartmentClient();

            departmentClient.Endpoint.Address = new System.ServiceModel.EndpointAddress(webserviceUrl);

            if (await TryUpdateModelAsync <Course>(
                    emptyCourse,
                    "course", // Prefix for form value.
                    s => s.CourseID, s => s.DepartmentID, s => s.Title, s => s.Credits))
            {
                await courseClient.CreateAsync(new Services.Contract.Course()
                {
                    Credits      = emptyCourse.Credits,
                    DepartmentID = emptyCourse.DepartmentID,
                    Title        = emptyCourse.Title,
                });

                return(RedirectToPage("./Index"));
            }

            //// Select DepartmentID if TryUpdateModelAsync fails.
            PopulateDepartmentsDropDownList(departmentClient, emptyCourse.DepartmentID);
            return(Page());
        }
        public async Task OnGetAsync()
        {
            var courseClient = new Services.Course.CourseClient();

            courseClient.Endpoint.Address = new System.ServiceModel.EndpointAddress(webserviceUrl);

            var courseListContract = await courseClient.SearchAsync();

            Courses = new List <Course>();

            foreach (var courseContract in courseListContract)
            {
                var course = new Course()
                {
                    CourseID     = courseContract.CourseID,
                    Credits      = courseContract.Credits,
                    DepartmentID = courseContract.DepartmentID,
                    Title        = courseContract.Title
                };

                if (courseContract.Department != null)
                {
                    course.Department = new Department()
                    {
                        Name = courseContract.Department.Name
                    };
                }
                Courses.Add(course);
            }
        }
        public IActionResult OnGet()
        {
            var courseClient = new Services.Course.CourseClient();

            courseClient.Endpoint.Address = new System.ServiceModel.EndpointAddress(webserviceUrl);

            var departmentClient = new Services.Department.DepartmentClient();

            departmentClient.Endpoint.Address = new System.ServiceModel.EndpointAddress(webserviceUrl);

            PopulateDepartmentsDropDownList(departmentClient);
            return(Page());
        }