示例#1
0
        public async Task DeleteAsync(Guid id)
        {
            var host = await _hostRepository.GetAsync(id);

            if (host is null)
            {
                throw new HostNotFoundException(id);
            }

            if (await _hostDeletionPolicy.CanDeleteAsync(host) is false)
            {
                throw new CannotDeleteHostException(id);
            }

            await _hostRepository.DeleteAsync(host);
        }
示例#2
0
        public async Task DeleteAsync(Guid id)
        {
            var host = await _hostsRepository.GetAsync(id);

            if (host is null)
            {
                throw new HostNotFoundException(id);
            }

            if (!await _hostDeletionPolicy.CanDeleteAsync(host))
            {
                throw new CannotDeleteHostException(id);
            }

            _hostsRepository.Delete(host);
            await _hostsRepository.UnitOfWork.SaveChangesAsync();
        }