public async Task <Maybe <Remark> > GetAsync(Guid id) { var remark = await _provider.GetAsync( async() => await _remarkRepository.GetByIdAsync(id), async() => await _serviceClient.GetAsync <Remark>(id)); if (remark.HasNoValue) { return(null); } if (remark.Value.Tags?.Any() == true) { remark.Value.SelectedTag = remark.Value.Tags.First().Name; } if (remark.Value.Group == null) { return(remark); } var group = await _groupRepository.GetAsync(remark.Value.Group.Id); remark.Value.Group.Criteria = group.Value.Criteria; remark.Value.Group.Members = group.Value.Members.ToDictionary(x => x.UserId, x => x.Role); return(remark); }
public async Task <Maybe <AvailableResource> > IsAvailableAsync(string name) => await _providerClient.GetAsync( async() => await _userRepository.IsNameAvailableAsync(name), async() => await _userServiceClient.IsAvailableAsync <AvailableResource>(name));
public async Task <Maybe <RemarkStatistics> > GetRemarkStatisticsAsync(GetRemarkStatistics query) => await _providerClient.GetAsync( async() => await _statisticsServiceClient.GetRemarkStatisticsAsync <RemarkStatistics>(query));
public async Task <Maybe <Group> > GetAsync(Guid id) => await _provider.GetAsync( async() => await _groupRepository.GetAsync(id), async() => await _serviceClient.GetAsync <Group>(id));
public async Task <Maybe <Organization> > GetAsync(Guid id) => await _provider.GetAsync( async() => await _organizationRepository.GetAsync(id), async() => await _serviceClient.GetAsync <Organization>(id));
public async Task <Maybe <UserNotificationSettings> > GetUserNotificationSettingsAsync( GetUserNotificationSettings query) => await _providerClient.GetAsync( async() => await _repository.GetAsync(query.UserId), async() => await _serviceClient.GetUserNotificationSettingsAsync(query));
public async Task <Maybe <Operation> > GetAsync(Guid requestId) => await _provider.GetAsync( async() => await _operationRepository.GetAsync(requestId), async() => await _serviceClient.GetAsync <Operation>(requestId));