public async Task <UsuarioData> Handle(Ejecutar request, CancellationToken cancellationToken) { var usuario = await _userManager.FindByNameAsync(_usuarioSesion.ObtenerUsuarioSesion()); var resultadoRoles = await _userManager.GetRolesAsync(usuario); var listaRoles = new List <string>(resultadoRoles); var imagenPerfil = await _context.Documento.Where(x => x.ObjetoReferencia == new Guid(usuario.Id)).FirstOrDefaultAsync(); if (imagenPerfil != null) { var imagenCliente = new ImagenGeneral { Data = Convert.ToBase64String(imagenPerfil.Contenido), Extension = imagenPerfil.Extension, Nombre = imagenPerfil.Nombre }; return(new UsuarioData { NombreCompleto = usuario.NombreCompleto, Username = usuario.UserName, Email = usuario.Email, Token = _jwtGenerador.CrearToken(usuario, listaRoles), ImagenPerfil = imagenCliente }); } else { return(new UsuarioData { NombreCompleto = usuario.NombreCompleto, Username = usuario.UserName, Email = usuario.Email, Token = _jwtGenerador.CrearToken(usuario, listaRoles), }); } }
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); //Sacar lista de roles var resulRoles = await _userManager.GetRolesAsync(usuario); //para transformar de IList(resulRoles) a List var listaRoles = new List <string>(resulRoles); // var imagenPerfil = await _context.Documento.Where(x => x.ObjetoReferencia == new Guid(usuario.Id)).FirstOrDefaultAsync(); if (resultado.Succeeded) { if (imagenPerfil != null) { var imagenCliente = new ImagenGeneral { Data = Convert.ToBase64String(imagenPerfil.Contenido), Extension = imagenPerfil.Extension, Nombre = imagenPerfil.Nombre }; return(new UsuarioData() { //NombreCompleto = usuario.NombreCompleto, Nombre = usuario.Nombre, Apellidos = usuario.Apellidos, Token = _jwtGenerador.CrearToken(usuario, listaRoles), UserName = usuario.UserName, Email = usuario.Email, ImagenPerfil = imagenCliente }); } else { return(new UsuarioData() { //NombreCompleto = usuario.NombreCompleto, Nombre = usuario.Nombre, Apellidos = usuario.Apellidos, Token = _jwtGenerador.CrearToken(usuario, listaRoles), UserName = usuario.UserName, Email = usuario.Email, //Imagen = null }); } } throw new ManejadorException(HttpStatusCode.Unauthorized); }
public async Task <UsuarioData> Handle(Ejecuta request, CancellationToken cancellationToken) { var usuario = await _userManager.FindByEmailAsync(request.Email); if (usuario == null) { //throw new ManejadorExcepcion(HttpStatusCode.Unauthorized); usuario = await _userManager.FindByNameAsync(request.Email); if (usuario == null) { throw new ManejadorExcepcion(HttpStatusCode.Unauthorized, new { mensaje = "El email/usuario ingresado no existe" }); } } var resultado = await _singInManager.CheckPasswordSignInAsync(usuario, request.Password, false); if (resultado.Succeeded) { var resultadoRoles = await _userManager.GetRolesAsync(usuario); var listaRoles = new List <string>(resultadoRoles); var imagenPerfil = await _context.Documento.Where(x => x.ObjetoReferencia == new Guid(usuario.Id)).FirstAsync(); if (imagenPerfil != null) { var imagenCliente = new ImagenGeneral { Data = Convert.ToBase64String(imagenPerfil.Contenido), Extension = imagenPerfil.Extension, Nombre = imagenPerfil.Nombre }; return(new UsuarioData { NombreCompleto = usuario.NombreCompleto, Token = _ijwtgenerador.CrearToken(usuario, listaRoles), UserName = usuario.UserName, Email = usuario.Email, ImagenPerfil = imagenCliente }); } else { return(new UsuarioData { NombreCompleto = usuario.NombreCompleto, Token = _ijwtgenerador.CrearToken(usuario, listaRoles), UserName = usuario.UserName, Email = usuario.Email }); } } else { throw new ManejadorExcepcion(HttpStatusCode.Unauthorized); } }
public async Task <UsuarioData> Handle(Ejecuta request, CancellationToken cancellationToken) { //buscar usuario var usuario = await _userManager.FindByEmailAsync(request.Email); if (usuario == null) { throw new ExceptionHandler(HttpStatusCode.Unauthorized); } //checkar password var resultado = await _signInManager.CheckPasswordSignInAsync(usuario, request.Password, false); //agregar roles var resultadoRoles = await _userManager.GetRolesAsync(usuario); var listaRoles = new List <string>(resultadoRoles); var imagenPerfil = await _context.Documento.Where(x => x.ObjectoReferencia == new Guid(usuario.Id)).FirstOrDefaultAsync(); //generar if (resultado.Succeeded) { //obtener imagen if (imagenPerfil != null) { var imagenCliente = new ImagenGeneral { Data = Convert.ToBase64String(imagenPerfil.Contenido), Extension = imagenPerfil.Extension, Nombre = imagenPerfil.Nombre }; return(new UsuarioData { NombreCompleto = usuario.NombreCompleto, Token = _jwtGenerador.CrearToken(usuario, listaRoles), Username = usuario.UserName, Email = usuario.Email, ImagenPerfil = imagenCliente }); } else { return(new UsuarioData { NombreCompleto = usuario.NombreCompleto, Token = _jwtGenerador.CrearToken(usuario, listaRoles), Username = usuario.UserName, Email = usuario.Email, Imagen = null }); } } throw new ExceptionHandler(HttpStatusCode.Unauthorized); }
public async Task <UsuarioData> Handle(Ejecuta request, CancellationToken cancellationToken) { var usuario = await _userManager.FindByEmailAsync(request.Email); if (usuario == null) { throw new ManejadorExcepcion(HttpStatusCode.Unauthorized); } var result = await _signInManager.CheckPasswordSignInAsync(usuario, request.Password, false); if (result.Succeeded) { return(new UsuarioData { NombreCompleto = usuario.NombreCompleto, Token = _IJwtGenerador.CrearToken(usuario), UserName = usuario.UserName, EMail = usuario.Email, Imagen = null, }); } else { throw new ManejadorExcepcion(HttpStatusCode.Unauthorized); } }
public async Task <UsuarioData> Handle(Ejecuta request, CancellationToken cancellationToken) { var usuario = await userManager.FindByEmailAsync(request.Email); // busca por email if (usuario == null) { throw new ManejadorExcepcion(HttpStatusCode.Unauthorized); } // false corresponde a si la cuenta debe bloquearse var resultado = await signInManager.CheckPasswordSignInAsync(usuario, request.Password, false); var resultadoRoles = await userManager.GetRolesAsync(usuario); var listaRoles = new List <string>(resultadoRoles); // debe ser List if (resultado.Succeeded) { return(new UsuarioData { NombreCompleto = usuario.NombreCompleto, Token = jwtGenerador.CrearToken(usuario, listaRoles), Username = usuario.UserName, Email = usuario.Email, Image = null }); } // si falló la autenticación throw new ManejadorExcepcion(HttpStatusCode.Unauthorized); }
public async Task <UsuarioData> Handle(Ejecutar request, CancellationToken cancellationToken) { var usuario = await userManager.FindByNameAsync(usuarioSesion.ObtenerUsuarioSesion()); var listaRoles = await this.userManager.GetRolesAsync(usuario); var roles = new List <string>(listaRoles); var imagen = await this.context.Documento.Where(d => d.ObjetoReferencia == new Guid(usuario.Id)).FirstOrDefaultAsync(); ImagenGeneral imagenUsuario = null; if (imagen != null) { imagenUsuario = new ImagenGeneral { Data = Convert.ToBase64String(imagen.Contenido), Extension = imagen.Extension, Nombre = imagen.Nombre }; } return(new UsuarioData { Email = usuario.Email, NombreCompleto = usuario.NombreCompleto, UserName = usuario.UserName, Token = jwtGenerador.CrearToken(usuario, new List <string>(listaRoles)), ImagenPerfil = imagenUsuario }); }
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); var resultadoRoles = await _userManager.GetRolesAsync(_Usuario); var listaRoles = new List <string>(resultadoRoles); if (resultado.Succeeded) { return(new UsuarioData { NombreCompleto = _Usuario.NombreCompleto, Token = _IJwtGenerador.CrearToken(_Usuario, listaRoles), UserName = _Usuario.UserName, Email = _Usuario.Email, Imagen = null }); } throw new ManejadorException(HttpStatusCode.Unauthorized); }
public async Task <UsuarioData> Handle(Ejecutar request, CancellationToken cancellationToken) { var usuario = await userManager.FindByEmailAsync(usuarioSesion.ObtenerUsuarioSesion()); var resultadoRoles = await userManager.GetRolesAsync(usuario); var listaRoles = new List <string>(resultadoRoles); return(new UsuarioData { NombreCompleto = usuario.NombreCompleto, Username = usuario.UserName, Token = jwtGenerador.CrearToken(usuario, listaRoles), Imagen = null, Email = usuario.Email, SucursalId = usuario.SucursalId, sucursalesDTO = context.sucursales .Where(c => c.Id == usuario.SucursalId) .Select(c => new SucursalesDTO { Id = c.Id, Codigo = c.Codigo, Nombre = c.Nombre, ProvinciaId = c.ProvinciaId, Localidad = c.Localidad, CodigoPostal = c.CodigoPostal, Calle = c.Calle, NroCalle = c.NroCalle, PisoDpto = c.PisoDpto, OtrasReferencias = c.OtrasReferencias, Estado = c.Estado }).FirstOrDefault() }); }
public async Task <UsuarioData> Handle(Ejecuta request, CancellationToken cancellationToken) { var usuarioIden = await _userManager.FindByNameAsync(request.Username); if (usuarioIden == null) { throw new ManejadorExcepcion(HttpStatusCode.NotFound, new { mensaje = "No existe usuario con este Username" }); } var resultado = await _context.Users.Where(x => x.Email == request.Email && x.UserName != request.Username).AnyAsync(); if (resultado) { throw new ManejadorExcepcion(HttpStatusCode.InternalServerError, new { mensaje = "Ya existe un usuario con este email" }); } usuarioIden.NombreCompleto = request.NombreCompleto; usuarioIden.PasswordHash = _passwordHasser.HashPassword(usuarioIden, request.Password); usuarioIden.Email = request.Email; var resultadoUpdate = await _userManager.UpdateAsync(usuarioIden); var resultadoRoles = await _userManager.GetRolesAsync(usuarioIden); var listRoles = new List <string>(resultadoRoles); if (resultadoUpdate.Succeeded) { return(new UsuarioData { NombreCompleto = usuarioIden.NombreCompleto, Username = usuarioIden.UserName, Email = usuarioIden.Email, Token = _jwtGenerador.CrearToken(usuarioIden, listRoles) }); } throw new Exception("No se ha podido actualizar el usuario"); }
public async Task <UsuarioData> Handle(Ejecuta request, CancellationToken cancellationToken) { var usuario = await _userManager.FindByNameAsync(request.Username); if (usuario == null) { throw new ManejadorExepcion(HttpStatusCode.NotFound, new { mensasaje = "El Usuario no existe" }); } var resultado = await _context.Users.Where(x => x.Email == request.Email && x.UserName != request.Username).AnyAsync(); if (resultado) { throw new ManejadorExepcion(HttpStatusCode.InternalServerError, new { mensasaje = "El Email Existe en la base de datos" }); } usuario.NombreCompleto = request.Nombre + ' ' + request.Apellidos; usuario.PasswordHash = _passwordHasher.HashPassword(usuario, request.Password); usuario.Email = request.Email; var resultadoUpdate = await _userManager.UpdateAsync(usuario); var resultadoRoles = (List <string>) await _userManager.GetRolesAsync(usuario); if (resultadoUpdate.Succeeded) { return(new UsuarioData { NombreCompleto = usuario.NombreCompleto, UserName = usuario.UserName, Email = usuario.Email, Token = _jwtGenerador.CrearToken(usuario, resultadoRoles) }); } throw new ManejadorExepcion(HttpStatusCode.InternalServerError, new { mensasaje = "No se pudo actualizar el usuario" }); }
public async Task <UsuarioData> Handle(Ejecuta request, CancellationToken cancellationToken) { var usuario = await _userManager.FindByEmailAsync(request.Email); if (usuario == null) { throw new ExceptionHandler(System.Net.HttpStatusCode.Unauthorized); } var resultado = await _sigInManager.CheckPasswordSignInAsync(usuario, request.Password, false); if (resultado.Succeeded) { return(new UsuarioData { NombreCompleto = usuario.NombreCompleto, Token = _jwtGenerador.CrearToken(usuario), Username = usuario.UserName, Email = usuario.Email, Image = null }); } throw new ExceptionHandler(System.Net.HttpStatusCode.Unauthorized); }
public async Task <UsuarioData> Handle(Ejecuta request, CancellationToken cancellationToken) { var existeEmail = await context.Users.Where(x => x.Email == request.Email).AnyAsync(); if (existeEmail) { throw new ManejadorException(HttpStatusCode.BadRequest, new { mensaje = "Existe ya un usuario registrado con ese Email" }); } var existeUser = await context.Users.Where(x => x.UserName == request.UserName).AnyAsync(); if (existeUser) { throw new ManejadorException(HttpStatusCode.BadRequest, new { mensaje = "Existe ya un usuario registrado con ese UserName" }); } var usuario = new Usuarios { NombreCompleto = request.NombreCompleto, UserName = request.UserName, Email = request.Email, SucursalId = request.SucursalId }; var result = await userManager.CreateAsync(usuario, request.Password); if (result.Succeeded) { return(new UsuarioData { NombreCompleto = usuario.NombreCompleto, Token = jwtGenerador.CrearToken(usuario, null), Username = usuario.UserName, Email = usuario.Email, Imagen = null, SucursalId = usuario.SucursalId, sucursalesDTO = context.sucursales .Where(c => c.Id == usuario.SucursalId) .Select(c => new SucursalesDTO { Id = c.Id, Codigo = c.Codigo, Nombre = c.Nombre, ProvinciaId = c.ProvinciaId, Localidad = c.Localidad, CodigoPostal = c.CodigoPostal, Calle = c.Calle, NroCalle = c.NroCalle, PisoDpto = c.PisoDpto, OtrasReferencias = c.OtrasReferencias, Estado = c.Estado }).FirstOrDefault() }); } throw new Exception("No se pudo agregar al Usuario"); }
public async Task <UsuarioData> Handle(Ejecuta request, CancellationToken cancellationToken) { var usuario = await _userManager.FindByNameAsync(_iusuarioSesion.ObtenerUsuarioSesion()); //Console.WriteLine("usuario: "+usuario.Email); if (usuario == null) { throw new ManejadorExcepcion(HttpStatusCode.NotFound, new { mensaje = "No existe usuario o token no es valido" }); } var resultadoRoles = await _userManager.GetRolesAsync(usuario); var listaRoles = new List <string>(resultadoRoles); var imagenPerfil = await _context.Documento.Where(x => x.ObjetoReferencia == new Guid(usuario.Id)).FirstOrDefaultAsync(); if (imagenPerfil != null) { var imagenCliente = new ImagenGeneral { Data = Convert.ToBase64String(imagenPerfil.Contenido), Extension = imagenPerfil.Extension, Nombre = imagenPerfil.Nombre }; return(new UsuarioData { NombreCompleto = usuario.NombreCompleto, UserName = usuario.UserName, Token = _ijwtGenerador.CrearToken(usuario, listaRoles), Email = usuario.Email, ImagenPerfil = imagenCliente }); } else { return(new UsuarioData { NombreCompleto = usuario.NombreCompleto, UserName = usuario.UserName, Token = _ijwtGenerador.CrearToken(usuario, listaRoles), Email = usuario.Email }); } }
public async Task <UsuarioData> Handle(Ejecuta request, CancellationToken cancellationToken) { var user = await _userManager.FindByNameAsync(_userSesion.ObtenerUsuarioSesion()); //Sacar lista de roles var resulRoles = await _userManager.GetRolesAsync(user); //para transformar de IList(resulRoles) a List var listaRoles = new List <string>(resulRoles); //Validaa si el usuario tiene una imagen de perfil var imagenPerfil = await _context.Documento.Where(x => x.ObjetoReferencia == new Guid(user.Id)).FirstOrDefaultAsync(); if (imagenPerfil != null)//Si es imagenPerfil existe, si es diferente de nulo { var imagenCliente = new ImagenGeneral { Data = Convert.ToBase64String(imagenPerfil.Contenido), Extension = imagenPerfil.Extension, Nombre = imagenPerfil.Nombre }; return(new UsuarioData { Nombre = user.Nombre, Apellidos = user.Apellidos, UserName = user.UserName, Token = _jwtGenerador.CrearToken(user, listaRoles), Email = user.Email, ImagenPerfil = imagenCliente }); } else { return(new UsuarioData { //NombreCompleto = user.NombreCompleto, Nombre = user.Nombre, Apellidos = user.Apellidos, UserName = user.UserName, Token = _jwtGenerador.CrearToken(user, listaRoles), Email = user.Email, }); } }
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.CrearToken(usuario), Imagen = null, Email = usuario.Email, }); }
public async Task <Usuario> Handle(Ejecuta request, CancellationToken cancellationToken) { var usuario = await _userManager.FindByEmailAsync(request.Email); if (usuario == null) { throw new ManejadorExcepcion(HttpStatusCode.Unauthorized); } var resultado = await _signInManager.CheckPasswordSignInAsync(usuario, request.Password, false); //var resultadoRoles = await _userManager.GetRolesAsync(usuario); //var listaRoles = new List<string>(resultadoRoles); // var imagenPerfil = await _context.Documento.Where(x => x.ObjetoReferencia == new Guid(usuario.Id)).FirstOrDefaultAsync(); if (resultado.Succeeded) { // if (imagenPerfil != null) // { // var imagenCliente = new ImagenGeneral // { // Data = Convert.ToBase64String(imagenPerfil.Contenido), // Extension = imagenPerfil.Extension, // Nombre = imagenPerfil.Nombre // }; // return new UsuarioData // { // NombreCompleto = usuario.NombreCompleto, // Token = _jwtGenerador.CrearToken(usuario, listaRoles), // Username = usuario.UserName, // Email = usuario.Email, // ImagenPerfil = imagenCliente // }; // } { return(new Usuario { NombreCompleto = usuario.NombreCompleto, Token = _jwtGenerador.CrearToken(usuario//, listaRoles ), UserName = usuario.UserName, Email = usuario.Email, //Imagen = null }); } } throw new ManejadorExcepcion(HttpStatusCode.Unauthorized); }
public async Task <UsuarioData> Handle(Ejecutar request, CancellationToken cancellationToken) { var usuario = await userManager.FindByNameAsync(usuarioSesion.ObtenerUsuarioSesion()); var listRoles = await userManager.GetRolesAsync(usuario); List <string> roles = new List <string>(listRoles); UsuarioData usuarioD = new UsuarioData(); usuarioD.NombreCompleto = usuario.NombreCompleto; usuarioD.Username = usuario.UserName; usuarioD.Token = jwtGenerador.CrearToken(usuario, roles); usuarioD.Imagen = null; usuarioD.Email = usuario.Email; return(usuarioD); }
public async Task <UsuarioData> Handle(Ejecutar request, CancellationToken cancellationToken) { var usuario = await _userManager.FindByNameAsync(_usuarioSesion.ObtenerUsuarioSesion()); var resultadoRoles = await _userManager.GetRolesAsync(usuario); var listaRoles = new List <string>(resultadoRoles); return(new UsuarioData { NombreCompleto = usuario.NombreCompleto, UserName = usuario.UserName, Token = _jwtGenerador.CrearToken(usuario, listaRoles), Image = null, Email = usuario.Email }); }
public async Task <UsuarioData> Handle(Ejecuta request, CancellationToken cancellationToken) { var existe = await _context.Users.Where(x => x.Email == request.Email).AnyAsync(); if (existe) { throw new ManejadorExcepcion(HttpStatusCode.BadRequest, new { mensaje = "Existe ya un usuario ya registrado con este email" }); } var existeUserName = await _context.Users.Where(x => x.UserName == request.UserName) .AnyAsync(); if (existeUserName) { throw new ManejadorExcepcion(HttpStatusCode.BadRequest, new { mensaje = "Existe ya un usuario ya registrado con este username" }); } var usuario = new Usuario { NombreCompleto = request.NombreCompleto, 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.CrearToken(usuario, null), Email = usuario.Email, Username = usuario.UserName }); } throw new Exception("No se pudo agregar al nuevo usuario"); }
public async Task <UsuarioData> Handle(Ejecuta request, CancellationToken cancellationToken) { var existeEmail = await context.Users.Where(x => x.Email == request.Email).AnyAsync(); if (existeEmail) { throw new ManejadorExcepcion(HttpStatusCode.BadRequest, new { mensaje = "El Email se encuentra en uso." }); } ; var existeUserName = await context.Users.Where(x => x.UserName == request.UserName).AnyAsync(); if (existeUserName) { throw new ManejadorExcepcion(HttpStatusCode.BadRequest, new { mensaje = "El Nombre de Usuario ya se encuentra en uso." }); } ; var usuario = new Usuario { NombreCompleto = request.NombreCompleto, 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.CrearToken(usuario, null), UserName = usuario.UserName, Email = usuario.Email }); } else if (resultado.Errors.Count() > 0) { throw new ManejadorExcepcion(HttpStatusCode.BadRequest, resultado.Errors); } throw new Exception("No se pudo agregar el nuevo usuario"); }
public async Task <UsuarioData> Handle(Ejecuta request, CancellationToken cancellationToken) { var usuario = await userManager.FindByEmailAsync(request.Email); if (usuario is null) { throw new ManejadorExcepcion(HttpStatusCode.Unauthorized); } var resultado = await signInManager.CheckPasswordSignInAsync(usuario, request.password, false); var listaRoles = await userManager.GetRolesAsync(usuario); var imagenPerfil = await context.Documento.Where(x => x.ObjetoReferencia == new Guid(usuario.Id)).FirstOrDefaultAsync(); ImagenGeneral imagenCliente = null; if (imagenPerfil != null) { imagenCliente = new ImagenGeneral { Data = Convert.ToBase64String(imagenPerfil.Contenido), Extension = imagenPerfil.Extension, Nombre = imagenPerfil.Nombre }; } if (resultado.Succeeded) { return new UsuarioData { NombreCompleto = usuario.NombreCompleto, Token = jwtGenerador.CrearToken(usuario, listaRoles.ToList()), UserName = usuario.UserName, Email = usuario.Email, ImagenPerfil = imagenCliente } } ; throw new ManejadorExcepcion(HttpStatusCode.Unauthorized); } }
public async Task <UsuarioData> Handle(Ejecuta request, CancellationToken cancellationToken) { // AnyAsync Retorna un boolean // Validamos si existe un usuario con ese Email var existe = await _context.Users.Where(x => x.Email == request.Email).AnyAsync(); if (existe) { throw new ManejadorExcepcion(System.Net.HttpStatusCode.BadRequest, new { mensaje = "Existe un usuario con este Email" }); } // Validamos si existe un usuario con ese UserName var existeUserName = await _context.Users.Where(x => x.UserName == request.UserName).AnyAsync(); if (existeUserName) { throw new ManejadorExcepcion(System.Net.HttpStatusCode.BadRequest, new { mensaje = "Existe ya el usuario con este userName" }); } // Creamos el usuario var usuario = new Usuario { NombreCompleto = request.NombreCompleto, Email = request.Email, UserName = request.UserName }; var result = await _userManeger.CreateAsync(usuario, request.Password); // Si se insertó, lo mostramos if (result.Succeeded) { return(new UsuarioData { NombreCompleto = usuario.NombreCompleto, Token = _jwtGenerador.CrearToken(usuario, null), Username = usuario.UserName, Email = usuario.Email }); } throw new Exception("No se pudo agregar el nuevo usuario"); }
public async Task <UsuarioData> Handle(Ejecuta request, CancellationToken cancellationToken) { //Validar si el correo existe var existe = await _context.Users.Where(x => x.Email == request.Email).AnyAsync(); if (existe) { throw new ManejadorException(HttpStatusCode.BadRequest, new { mensaje = "El email ingresado ya existe" }); } //Validar si el username existe var existeUserName = await _context.Users.Where(x => x.UserName == request.Username).AnyAsync(); if (existeUserName) { throw new ManejadorException(HttpStatusCode.BadRequest, new { mensaje = "El username ingresado ya existe" }); } //Comenzar a crear el usuario var usuario = new Usuario { NombreCompleto = 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.CrearToken(usuario), Username = usuario.UserName, Email = usuario.Email } } ; throw new Exception("No se pudo agregar al nuevo usuario"); } }
public async Task <UsuarioData> Handle(Ejecuta request, CancellationToken cancellationToken) { var usuario = await userManager.FindByNameAsync(request.Username); if (usuario == null) { throw new ManejadorException(HttpStatusCode.NotFound, new { mensaje = "El usuario no existe" }); } var existeEmail = await gestionContext.Users.Where(x => x.Email == request.Email && x.UserName != request.Username).AnyAsync(); if (existeEmail) { throw new ManejadorException(HttpStatusCode.NotFound, new { mensaje = "El email pertenece a otro usuario" }); } usuario.NombreCompleto = request.NombreCompleto; usuario.PasswordHash = passwordHasher.HashPassword(usuario, request.Password); usuario.Email = request.Email; var resultRoles = await userManager.GetRolesAsync(usuario); var listaRoles = new List <string>(resultRoles); var updateUsuario = await userManager.UpdateAsync(usuario); if (updateUsuario.Succeeded) { return(new UsuarioData { NombreCompleto = usuario.NombreCompleto, Username = usuario.UserName, Email = usuario.Email, Token = jwtGenerador.CrearToken(usuario, listaRoles), Imagen = null }); } throw new ManejadorException(HttpStatusCode.BadRequest, new { mensaje = "no se puede actualizar el usuario" }); }
public async Task <UsuarioData> Handle(Ejecuta request, CancellationToken cancellationToken) { //Validacion del Email var existe = await _context.Users.Where(registros => registros.Email == request.Email).AnyAsync(); if (existe) { throw new ManejadorExcepcion(HttpStatusCode.BadRequest, new { mensaje = "El email ya tiene un usuario registrado" }); } //Validacion del nombre de usuario var existeUsername = await _context.Users.Where(evaluacion => evaluacion.UserName == request.Username).AnyAsync(); if (existeUsername) { throw new ManejadorExcepcion(HttpStatusCode.BadRequest, new{ mensaje = "Actualmente existe un usuario con ese username" }); } //Creacion del nuevo usuario var usuarioNuevo = new Usuario { NombreCompleto = request.Nombre + " " + request.Apellidos, Email = request.Email, UserName = request.Username }; var resultado = await _userManager.CreateAsync(usuarioNuevo, request.Password); if (resultado.Succeeded) { return(new UsuarioData { NombreCompleto = usuarioNuevo.NombreCompleto, Token = _jwtGenerador.CrearToken(usuarioNuevo), Username = usuarioNuevo.UserName, Email = usuarioNuevo.Email }); } throw new Exception("No se pudo agregar al nuevo Usuarioo"); }
public async Task <UsuarioData> Handle(Ejecuta request, CancellationToken cancellationToken) { var existe = await _context.Users.Where(x => x.Email == request.Email).AnyAsync(); if (existe) { throw new ManejadorException(HttpStatusCode.BadRequest, new { mensaje = "Existe un usuario registrado con ese Email" }); } var existeUserName = await _context.Users.Where(x => x.UserName == request.Username).AnyAsync(); if (existe) { throw new ManejadorException(HttpStatusCode.BadRequest, new { mensaje = "Existe un usuario con este username" }); } var usuario = new Usuario { //NombreCompleto = request.Nombre + " " + request.Apellidos, Nombre = request.Nombre, Apellidos = request.Apellidos, Email = request.Email, UserName = request.Username }; var resultado = await _userManager.CreateAsync(usuario, request.Password); if (resultado.Succeeded)//Si el resultado es exitoso { return(new UsuarioData { //NombreCompleto = usuario.NombreCompleto, Nombre = usuario.Nombre, Apellidos = usuario.Apellidos, Token = _jwtGenerador.CrearToken(usuario, null),//Se pasa un null porque recien se esta creando el usuario y no tiene roles Email = usuario.Email, UserName = usuario.UserName }); } throw new Exception("No se pudo agregar el nuevo usuario"); }
public async Task <UsuarioData> Handle(Ejecuta request, CancellationToken cancellationToken) { var existe = await _cursosbasesContext.Users.Where(x => x.Email == request.Email).AnyAsync(); if (existe) { throw new ManejadorExcepcion(HttpStatusCode.BadRequest, new { mensaje = "El Email ya existe, con un usuario registrado" }); } var existeUserName = await _cursosbasesContext.Users.Where(y => y.UserName == request.UserName).AnyAsync(); if (existeUserName) { throw new ManejadorExcepcion(HttpStatusCode.BadRequest, new { mensaje = "El UserName ya existe, con un usuario registrado" }); } var usuario = new Usuario { NombreUsuario = 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.NombreUsuario, Token = _jwtGenerador.CrearToken(usuario), UserName = usuario.UserName, Email = usuario.Email }); } throw new Exception("No se puede agregar al usuario"); }
public async Task <UsuarioData> Handle(Ejecuta request, CancellationToken cancellationToken) { var usuario = await _userManager.FindByNameAsync(request.UserName); if (usuario == null) { throw new ManejadorExcepcion(HttpStatusCode.NotFound, new { mensaje = "Usuario a actualizar no encontrado" }); } var email = await _context.Users.Where(x => x.Email == request.Email && x.UserName != request.UserName).AnyAsync(); if (email) { throw new ManejadorExcepcion(HttpStatusCode.InternalServerError, new { mensaje = "Email ya existe " }); } usuario.NombreCompleto = request.NombreCompleto; usuario.Email = request.Email; usuario.PasswordHash = _passwordHasher.HashPassword(usuario, request.Password); var resultados = await _userManager.UpdateAsync(usuario); var roles = await _userManager.GetRolesAsync(usuario); List <string> rolesLista = new List <string>(roles); if (resultados.Succeeded) { return(new UsuarioData { NombreCompleto = usuario.NombreCompleto, Email = usuario.Email, Username = usuario.UserName, Token = _jwtGenerador.CrearToken(usuario, rolesLista) }); } throw new ManejadorExcepcion(HttpStatusCode.BadRequest, new { mensaje = "Error al actualizar, revise sus datos" }); }
public async Task <UsuarioData> Handle(Ejecuta request, CancellationToken cancellationToken) { var existe = await _context.Users.Where(x => x.Email == request.Email).AnyAsync(); if (existe) { throw new ExceptionHandler(HttpStatusCode.BadRequest, new { mensaje = "El email ingresado ya existe" }); } var existeUsername = await _context.Users.Where(x => x.UserName == request.Username).AnyAsync(); if (existeUsername) { throw new ExceptionHandler(HttpStatusCode.BadRequest, new { mensaje = "El userName ya existe" }); } var usuario = new Usuario { NombreCompleto = request.NombreCompleto, Email = request.Email, UserName = request.Username }; var resultado = await _userManager.CreateAsync(usuario, request.Password); //como recien se crea el rol es nulo if (resultado.Succeeded) { return(new UsuarioData { NombreCompleto = usuario.NombreCompleto, Token = _jwtGenerador.CrearToken(usuario, null), Username = usuario.UserName, Email = usuario.Email }); } throw new Exception("No se pudo agregar usuario"); }