示例#1
0
        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();
        }
示例#2
0
        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();
            }
        }