public async Task <IHttpActionResult> CreateUser(CreateUserBindingModel usuarioNuevo) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var user = new Usuario() { UserName = usuarioNuevo.GetUsername(usuarioNuevo.Email), Email = usuarioNuevo.Email, Activo = true, }; IdentityResult addUserResult = await this.AppUserManager.CreateAsync(user, usuarioNuevo.Password); if (!addUserResult.Succeeded) { return(GetErrorResult(addUserResult)); } var newUser = AppUserManager.FindByName(user.UserName); var addRolesResult = AppUserManager.AddToRoles(newUser.Id, new string[] { Common.Constants.Docente }); if (!addRolesResult.Succeeded) { return(GetErrorResult(addUserResult)); } //EmailServiceGmail.SendEmail(user, "Usuario", "dedwew"); return(Ok()); }
public async Task <IHttpActionResult> CreateUser(CreateUserBindingModel createUserModel) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var user = new ApplicationUser() { UserName = createUserModel.Username, Email = createUserModel.Email, FirstName = createUserModel.FirstName, LastName = createUserModel.LastName, Level = 3, JoinDate = DateTime.Now.Date, EmailConfirmed = true, UserProfile = new UserProfile() { ContactEmail = createUserModel.Email, OrgainzationId = createUserModel.OrganizationId, //AvatarImgUrlMd = "content/images/avatars/avatar-default-md.png", //AvatarImgUrlSm = "content/images/avatars/avatar-default-sm.png", PositionId = createUserModel.PositionId, AvatarImgUrl = "content/images/avatars/avatar-default.png" } }; IdentityResult addUserResult = await this.AppUserManager.CreateAsync(user, createUserModel.Password); if (!addUserResult.Succeeded) { return(GetErrorResult(addUserResult)); } //Add client role - default // var currentUser = AppUserManager.FindByName(user.UserName); AppUserManager.AddToRoles(currentUser.Id, "manager"); //Enable immediate account activation // //currentUser.EmailConfirmed = true; //update user profile // //currentUser.UserProfile.AvatarImgUrl = ""; //currentUser.UserProfile. //currentUser.UserProfile.OrgainzationId = 1; //Send confirmation email // //string code = await this.AppUserManager.GenerateEmailConfirmationTokenAsync(user.Id); //var callbackUrl = new Uri(Url.Link("ConfirmEmailRoute", new { userId = user.Id, code = code })); //await this.AppUserManager.SendEmailAsync(createUserModel.Email, // "Confirm your account", // "Your account has been setup. The username and password are:" + createUserModel.Username // + "/" + createUserModel.Password + "." ); //EmailNotification emailNotication = new EmailNotification(); Uri locationHeader = new Uri(Url.Link("GetUserById", new { id = user.Id })); return(Created(locationHeader, TheModelFactory.Create(user))); //return Ok(); }