예제 #1
0
            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);
            }
예제 #2
0
            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
                });
            }
예제 #3
0
            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");
            }