public async Task <ActionResult <UserToken> > crear([FromBody] UserInfo model) { try { var existe = await _usuarioServicio.existeUsuarioPorEmail(model.Email); var usuario = await _userManager.FindByEmailAsync(model.Email); if (usuario != null || existe) { string mensaje = $"El usuario con el correo: {model.Email}, ya existe."; return(BadRequest(mensaje)); } var applicationUser = new ApplicationUser { Id = Guid.NewGuid(), UserName = model.Email, Email = model.Email }; var result = await _userManager.CreateAsync(applicationUser, model.PassWord); if (result.Succeeded) { await _usuarioServicio.crear(new Usuario() { Id = applicationUser.Id, Apellido = model.Apellido, CorreoElectronico = model.Email, EmpresaId = model.EmpresaId, Nombre = model.Nombre, TipoIdentificacionId = model.TipoIdentificacionId, NumeroIdentificacion = model.NumeroIdentificacion }); return(Ok(BuildToken(model))); } else { return(BadRequest("Usuario o contraseña invalidos")); } } catch (Exception e) { return(BadRequest(e.Message)); throw (e); } }