public async Task <IHttpActionResult> RegisterTeacher(TeacherRegisterBindingModel model) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var user = new ApplicationUser() { UserName = model.Email, Email = model.Email }; IdentityResult result = await UserManager.CreateAsync(user, model.Password); var newUser = UserManager.FindByEmail(model.Email); UserManager.AddToRoles(newUser.Id, new string[] { "Teacher" }); int TrId = 0; if (result.Succeeded) { TeacherDTO tr = new TeacherDTO() { TeacherName = model.FirstName + " " + model.LastName, StartDate = model.StartDate, Tr_Address1 = model.Tr_Address1, Tr_Address2 = model.Tr_Address2, Tr_PostCode = model.Tr_PostCode, Tr_Email = model.Email, Tr_Telephone = model.Tr_Telephone, UserId = user.Id, _ImageFileUrl = model._ImageFileUrl }; ITeacherService trService = new TeacherService(); TrId = await trService.AddTeacherAsync(tr); } else { return(GetErrorResult(result)); } return(Ok(TrId)); }