public async Task <bool> Authenticate(LoginPageModel login) { ValidateLogin(login); var tokenService = new TokenRest(); var token = await tokenService.Login(login); if (token == null) { throw new Exception("Usuário ou Senha incorreta"); } var userService = new UserRest(); var userVm = await userService.GetInformationAsync(token.AccessToken); if (userVm == null) { throw new Exception("Usuário ou Senha incorreta"); } var userToken = new UserTokenVm { Token = token, User = userVm.Value }; Login(userToken); return(true); }
public async Task <CustomReturn <User> > Register(RegisterPageModel register) { if (string.IsNullOrWhiteSpace(register.FirstName)) { throw new Exception("Campo Nome é obrigatório"); } if (string.IsNullOrWhiteSpace(register.LastName)) { throw new Exception("Campo Sobrenome é obrigatório"); } if (string.IsNullOrWhiteSpace(register.Telephone) || string.IsNullOrWhiteSpace(register.Telephone)) { throw new Exception("Informe pelo menos um número de contato"); } if (!PhoneNumberValidatorBehavior.IsValidPhoneNumber(register.Telephone)) { throw new Exception("Campo Telefone é inválido"); } if (!PhoneNumberValidatorBehavior.IsValidPhoneNumber(register.CellPhone)) { throw new Exception("Campo Celular é inválido"); } if (string.IsNullOrWhiteSpace(register.Cpf)) { throw new Exception("Campo CPF é obrigatório"); } if (!CpfValidatorBehavior.IsValidCpf(register.Cpf)) { throw new Exception("Campo CPF é inválido"); } if (string.IsNullOrWhiteSpace(register.Email)) { throw new Exception("Campo Email é obrigatório"); } if (!EmailHelper.IsEmail(register.Email)) { throw new Exception("Email inválido"); } if (string.IsNullOrWhiteSpace(register.Password)) { throw new Exception("Campo Senha é obrigatório"); } if (string.IsNullOrWhiteSpace(register.ConfirmPassword)) { throw new Exception("Campo Confirmação de Senha é obrigatório"); } if (!string.Equals(register.Password, register.ConfirmPassword)) { throw new Exception("A senha e confirmação não confere"); } var userRest = new UserRest(); var userResult = await userRest.Register(register); if (!userResult.IsValid) { return(userResult); } var tokenRest = new TokenRest(); var token = await tokenRest.Login(new LoginPageModel { UserName = userResult.Value.Cpf, Password = register.Password }); var userToken = new UserTokenVm { User = userResult.Value, Token = token }; Login(userToken); return(userResult); }