private bool IsMemberExists(CustomerImport client) { CustomerImport customerImport = null; client.HandleCustomer(); if (client.Email.IsValidEmail()) { customerImport = customerImportRepository.GetByEmail(client.Email).FirstOrDefault(); } if ((customerImport.IsNull() || customerImport.AccountCode.IsEmpty()) && client.DisplayDocument.IsValidCPF()) { customerImport = customerImportRepository.GetByCPF(client.DisplayDocument).FirstOrDefault(); } if ((customerImport.IsNull() || customerImport.AccountCode.IsEmpty()) && client.DisplayDocument.IsValidCNPJ()) { customerImport = customerImportRepository.GetByCNPJ(client.DisplayDocument).FirstOrDefault(); } if (!customerImport.IsNull() && !customerImport.AccountCode.IsEmpty()) { return(true); } var account = new Account() { Email = client.Email, Document = client.DisplayDocument, Login = client.Email }; return(accountRepository.IsMemberExists(account));; }
public bool Exists(string username, Guid storeCode) { CustomerImport customerImport = Get(username, storeCode); if (!customerImport.IsNull() && !customerImport.AccountCode.IsEmpty()) { return(true); } else { return(false); } }
public override string GenerateResetPasswordToken(string email, Guid clientId, string urlBack = "", int emailTemplateCode = 0) { if (email.IsNullOrWhiteSpace()) { throw new ArgumentException("E-mail não informado"); } ApplicationStore appSto; Account account; CustomerImport customerImport = null; string _tokenCode = string.Empty; using (var transaction = Connection.BeginTransaction()) { try { appSto = applicationStoreRepository.GetByClientId(clientId); var accounts = accountRepository.Get(email, appSto, true); accountService.lockedUpMemberPolicy = lockedUpMemberPolicy; accountService.lockMemberPolicy = lockMemberPolicy; accountService.passwordPolicy = passwordPolicy; account = accountService.Authenticate(accounts, appSto, false); if (account != null) { var resetPasswordTokenService = resetPasswordTokenFactory.GetResetPasswordTokenService(account); resetPasswordTokenService.lockedUpMemberPolicy = lockedUpMemberPolicy; var token = resetPasswordTokenService.GenerateResetPasswordToken(account, appSto, urlBack); _tokenCode = token.Code.EncodeURIComponent(); svcEmail.SendPasswordRecoveryEmailAsync(account, appSto.Store, _tokenCode, token.UrlBack, emailTemplateCode); } else { customerImport = customerImportService.Get(email, appSto.Store.Code); if (customerImport != null) { var resetPasswordTokenService = resetPasswordTokenFactory.GetResetPasswordTokenService(customerImport); var token = resetPasswordTokenService.GenerateResetPasswordToken(customerImport, appSto, urlBack); _tokenCode = token.Code.EncodeURIComponent(); customerImport.HandleCustomer(); svcEmail.SendPasswordRecoveryEmailAsync(customerImport, appSto.Store, _tokenCode, urlBack, emailTemplateCode); } } transaction.Commit(); } catch { transaction.Rollback(); throw; } } if (!appSto.IsNull() && (!account.IsNull() || !customerImport.IsNull())) { using (var transaction = Connection.BeginTransaction()) { try { var code = !account.IsNull() ? account.Code : customerImport.AccountCode; passwordLogRepository.Save(new PasswordLog(code, PasswordEventLog.RequestRecovery, appSto.Store.Code)); transaction.Commit(); } catch { transaction.Rollback(); } } } return(_tokenCode); }