示例#1
0
        public async Task <CommandResult> Handler(SignInCommand command)
        {
            command.Validate();
            if (command.Invalid)
            {
                return(new CommandResult(false, "Ops, erro ao tentar acessar usuario.", command.Notifications));
            }

            var user = await _userRepository.FindUserByEmail(command.Email);

            if (user == null)
            {
                return(new CommandResult(false, "Usuario nao existe.", null));
            }

            if (!PasswordUtil.Verify(command.Password, user.Password))
            {
                return(new CommandResult(false, "Usuario ou senha invalido.", null));
            }

            var token = _tokenService.GenerateToken(user);

            return(new CommandResult(true, "usuario logado com sucesso.", token));
        }