public async Task <bool> DeleteDomainAsync(string id)
        {
            var domainName = await domainRepository.ReadAsync(d => d.Id == id);

            if (domainName == null)
            {
                throw new NotFoundException();
            }

            var subDomains = await clusterDomainRepository.ReadsAsync(d => d.RootDomainId == id);

            if (await domainRepository.DeleteAsync(domainName) > 0)
            {
                return(await clusterDomainRepository.DeletesAsync(subDomains) == subDomains.Length);
            }

            return(false);
        }