public async Task <IActionResult> PutAsync(int id, [FromBody] SaveAssignmentResource resource) { var assignment = _mapper.Map <SaveAssignmentResource, Assignment>(resource); var result = await _assignmentService.UpdateAsync(id, assignment); if (!result.Success) { return(BadRequest(result.Message)); } var assignmentResource = _mapper.Map <Assignment, AssignmentResource>(result.Resource); return(Ok(assignmentResource)); }
public async Task <IActionResult> Assign([FromBody] SaveAssignmentResource resource) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var courseOffering = await unitOfWork.CourseOfferings.GetCourseOffering(resource.CourseOfferingId); if (courseOffering == null) { return(NotFound()); } if (resource.InstructorId.HasValue) { var assignment = courseOffering.Instructors.SingleOrDefault(i => i.TypeId == resource.TypeId); if (assignment == null) { return(NotFound()); } assignment.InstructorId = resource.InstructorId; await unitOfWork.CompleteAsync(); assignment = await unitOfWork.CourseOfferingInstructorAssignments.GetInstructorAssignment(resource.CourseOfferingId, resource.InstructorId.Value, resource.TypeId); return(Ok(mapper.Map <InstructorAssignment, InstructorAssignmentResource>(assignment))); } else if (resource.RoomId.HasValue) { var assignment = courseOffering.Rooms.SingleOrDefault(i => i.TypeId == resource.TypeId); if (assignment == null) { return(NotFound()); } assignment.RoomId = resource.RoomId; await unitOfWork.CompleteAsync(); return(Ok(resource.RoomId)); } return(BadRequest()); }
public async Task <IActionResult> PostAsync(SaveAssignmentResource resource) { if (!ModelState.IsValid) { return(BadRequest(ModelState.GetErrorMessages())); } var assignment = _mapper.Map <SaveAssignmentResource, Assignment>(resource); var result = await _assignmentService.SaveAsync(assignment); if (!result.Success) { return(BadRequest(result.Message)); } var assignmentResource = _mapper.Map <Assignment, AssignmentResource>(result.Resource); return(Ok(assignmentResource)); }