AccountAppService.cs 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. using System.Threading.Tasks;
  2. using WePlatform.Authorization.Accounts.Dto;
  3. using WePlatform.Authorization.Users;
  4. using Abp.Configuration;
  5. using IwbZero.Zero.Configuration;
  6. using WePlatform.Configuration;
  7. namespace WePlatform.Authorization.Accounts
  8. {
  9. public class AccountAppService : IwbAppServiceBase, IAccountAppService
  10. {
  11. private readonly UserRegistrationManager _userRegistrationManager;
  12. public AccountAppService(
  13. UserRegistrationManager userRegistrationManager)
  14. {
  15. _userRegistrationManager = userRegistrationManager;
  16. }
  17. public async Task<IsTenantAvailableOutput> IsTenantAvailable(IsTenantAvailableInput input)
  18. {
  19. var tenant = await TenantManager.FindByTenancyNameAsync(input.TenancyName);
  20. if (tenant == null)
  21. {
  22. return new IsTenantAvailableOutput(TenantAvailabilityState.NotFound);
  23. }
  24. if (!tenant.IsActive)
  25. {
  26. return new IsTenantAvailableOutput(TenantAvailabilityState.InActive);
  27. }
  28. return new IsTenantAvailableOutput(TenantAvailabilityState.Available, tenant.Id);
  29. }
  30. public async Task<RegisterOutput> Register(RegisterInput input)
  31. {
  32. var user = await _userRegistrationManager.RegisterAsync(
  33. input.Name,
  34. input.Surname,
  35. input.EmailAddress,
  36. input.UserName,
  37. input.Password,
  38. false
  39. );
  40. var isEmailConfirmationRequiredForLogin = await SettingManager.GetSettingValueAsync<bool>(IwbZeroSettingNames.UserManagement.IsEmailConfirmationRequiredForLogin);
  41. return new RegisterOutput
  42. {
  43. CanLogin = user.IsActive && (user.IsEmailConfirmed || !isEmailConfirmationRequiredForLogin)
  44. };
  45. }
  46. }
  47. }