public async Task SetAvailabilityAsync(Address address, bool isAvailable) { var expert = await _expertRepository.GetByAddressAsync(address); if (expert == null) { throw new AppErrorException(ErrorCode.ExpertNotFound); } expert.IsAvailable = isAvailable; await _expertRepository.SaveChangesAsync(); }
public async Task UpdateExpertAreasAsync(long expertId) { var expert = await _expertRepository.GetByIdAsync(expertId) ?? throw new AppErrorException(ErrorCode.ExpertNotFound); var areas = await _expertsRegistryContractClient.GetExpertAreasAsync(expert.User.Address); if (!areas.Any()) { await RemoveExpertAsync(expert); } else { expert.SetAreas(areas); await _expertRepository.SaveChangesAsync(); } }