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)); }
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); }
public async Task <IActionResult> GetInstructors([FromBody] GetInstructorsQuery query) { return(Ok(await mediator.Send(query))); }