public HttpResponseMessage Add(HttpRequestMessage request, CourseCategoryViewModel category) { return(CreateHttpResponse(request, () => { HttpResponseMessage response = null; if (!ModelState.IsValid) { response = request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState); } else { var newCategory = new CourseCategory(); newCategory.UpdateCourseCategory(category); _courseCategoryService.CreateCategory(newCategory); _courseCategoryService.SaveCategory(); // Update view model category = Mapper.Map <CourseCategory, CourseCategoryViewModel>(newCategory); response = request.CreateResponse(HttpStatusCode.Created, category); } return response; })); }