public async Task <IActionResult> Get()
        {
            IdentityAdto identityAdto = await _identityApplicationService.GetAsync(new GetIdentityAdto
            {
                Id = _currentIdentityProvider.Id
            });

            switch (identityAdto)
            {
            case PasswordIdentityAdto passwordIdentityAdto:
                return(Ok(_resourceBuilder.Build(new PasswordIdentityResource
                {
                    Id = passwordIdentityAdto.Id
                })));

            case IdentityAdto defaultIdentityAdto:
                return(Ok(_resourceBuilder.Build(new IdentityResource
                {
                    Id = defaultIdentityAdto.Id
                })));

            default:
                throw new ArgumentOutOfRangeException(nameof(identityAdto));
            }
        }
 public Task <IdentityAdto> GetAsync(GetIdentityAdto getIdentityAdto)
 {
     return(_securityApplicationService.SecureAsync(() => _identityApplicationService.GetAsync(getIdentityAdto),
                                                    IdentityAuthorisationContext.Create(getIdentityAdto.Id, AuthorisationAction.Get)));
 }