public async Task <IActionResult> Index(GetInstructorsQuery query /*int? id*/)
        {
            var viewModel = await _mediator.Send(query);

            return(View(viewModel));
            //TODO: Handle select instructor!
            //if (id != null)
            //{
            //    ViewData["InstructorID"] = id.Value;
            //    Instructor instructor = viewModel.Instructors.Where(
            //        i => i.ID == id.Value).Single();
            //    viewModel.Courses = instructor.CourseAssignments.Select(s => s.Course);
            //}
        }
 public async Task <IReadOnlyList <GetInstructorsViewModel> > Handle(GetInstructorsQuery request, CancellationToken cancellationToken)
 {
     return(await context.Instructor
            .AsNoTracking()
            .Select(x => new GetInstructorsViewModel
     {
         Id = x.Id,
         FirstName = x.FirstName,
         LastName = x.LastName,
         Gender = x.Gender,
         Email = x.Email,
         PhoneNumber = x.PhoneNumber,
         PhoneNumberTypeId = x.PhoneNumberTypeId,
         OtherPhoneNumber = x.OtherPhoneNumber,
         Address = x.Address,
         JoiningDate = x.JoiningDate
     })
            .ToListAsync(cancellationToken));
 }
示例#3
0
        public async Task <List <GetInstructorsQueryModel> > Handle(GetInstructorsQuery request, CancellationToken cancellationToken)
        {
            var instructors = await _readModelRepository.All <InstructorReadModel>();

            var model = instructors.Select(x => new GetInstructorsQueryModel
            {
                Id                = x.Id,
                LastName          = x.LastName,
                FirstName         = x.FirstName,
                HireDate          = x.HireDate,
                OfficeLocation    = x.OfficeLocation,
                CourseAssignments = x.CourseAssignments.Select(c => new AssignedCourseData
                {
                    Assigned     = true,
                    CourseID     = c.Id,
                    CourseNumber = c.Number,
                    Title        = c.Title
                }).ToList()
            }).ToList();

            return(model);
        }
示例#4
0
 public async Task <IActionResult> GetInstructors([FromBody] GetInstructorsQuery query)
 {
     return(Ok(await mediator.Send(query)));
 }