public async Task <UsuarioData> Handle(Ejecuta request, CancellationToken cancellationToken) { var usuario = await _userManager.FindByEmailAsync(request.Email); if (usuario == null) { throw new ManejadorException(HttpStatusCode.Unauthorized); } var resultado = await _signInManager.CheckPasswordSignInAsync(usuario, request.Password, false); if (resultado.Succeeded) { return(new UsuarioData { NombreCompleto = usuario.NombreCompleto, Email = usuario.Email, UserName = usuario.UserName, Token = _jwtGenerador.CreateToken(usuario), Imagen = null }); } throw new ManejadorException(HttpStatusCode.Unauthorized); }
public async Task <UsuarioData> Handle(Ejecutar request, CancellationToken cancellationToken) { var usuario = await _userManager.FindByNameAsync(_usuarioSesion.ObtenerUsuarioSesion()); return(new UsuarioData { NombreCompleto = usuario.NombreCompleto, UserName = usuario.UserName, Token = _jwtGenerador.CreateToken(usuario), Email = usuario.Email }); }
public async Task <UsuarioData> Handle(Ejecuta request, CancellationToken cancellationToken) { var existe = await _context.Users.Where(w => w.Email == request.Email).AnyAsync(); if (existe) { throw new ManejadorException(HttpStatusCode.BadRequest, new { mensaje = "El email ingresado ya existe." }); } var existeUsername = await _context.Users.Where(w => w.UserName == request.UserName).AnyAsync(); if (existeUsername) { throw new ManejadorException(HttpStatusCode.BadRequest, new { mensaje = "Ya existe un usuario con este username." }); } var usuario = new Usuario { NombreCompleto = string.Format("{0} {1}", request.Nombre, request.Apellidos), Email = request.Email, UserName = request.UserName }; var resultado = await _userManager.CreateAsync(usuario, request.Password); if (resultado.Succeeded) { return(new UsuarioData { NombreCompleto = usuario.NombreCompleto, Token = _jwtGenerador.CreateToken(usuario), UserName = usuario.UserName, Email = usuario.Email }); } throw new Exception("No se pudo agregar al nuevo usuario"); }