Using JObject to pass data to webapi, how do you perform model validation of the objects returned from the JObject? I am using angurlarjs for binding and DTO for my model.
 [System.Web.Http.HttpPost]
        public HttpResponseMessage InsertSchoolBranch(JObject jsonData)
        {
            try
            {
                dynamic json = jsonData;    
                JObject jbranchInfo = json.branchInfo;
                JObject jbranchPolicy = json.branchPolicy;
                var branchInfo = jbranchInfo.ToObject<SchoolBranch>();
                var branchPolicy = jbranchPolicy.ToObject<SchoolPolicy>();
                int schoolId = Convert.ToInt32(UserDataPieces(2));
                int userId = Convert.ToInt32(UserDataPieces(0));
                unitOfWork.SchoolManagerRepository.InsertSchoolBranch(branchInfo, branchPolicy, userId, schoolId, ref message);
                return new HttpResponseMessage(HttpStatusCode.OK);
            }
            catch (UnauthorizedAccessException)
            {
                return Request.CreateResponse(HttpStatusCode.Unauthorized);
            }
            catch (Exception)
            {
                return Request.CreateResponse(HttpStatusCode.InternalServerError);
            }
        }
 
    