public async Task <IActionResult> UpdateAsync(int?id, [FromBody] EnrolleeUpdateModel enrolleeAddOrUpdateModel) { if (!ModelState.IsValid) { return(BadRequest()); } if (id.HasValue) { var enrolleeUpdateDto = _mapper.Map <EnrolleeUpdateDto>(enrolleeAddOrUpdateModel); enrolleeUpdateDto.Id = id.Value; var statusCode = await _enrolleeService.UpdateAsync(enrolleeUpdateDto); var response = _enrolleeResponseComposer.ComposeForUpdate(statusCode); return(response); } else { var enrolleeCreateDto = _mapper.Map <EnrolleCreateDto>(enrolleeAddOrUpdateModel); var statusCode = await _enrolleeService.AddAsync(enrolleeCreateDto); var response = _enrolleeResponseComposer.ComposeForCreate(statusCode, enrolleeCreateDto); return(response); } }