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));
Example #6
0
 public async Task <Maybe <UserNotificationSettings> > GetUserNotificationSettingsAsync(
     GetUserNotificationSettings query)
 => await _providerClient.GetAsync(
     async() => await _repository.GetAsync(query.UserId),
     async() => await _serviceClient.GetUserNotificationSettingsAsync(query));
Example #7
0
 public async Task <Maybe <Operation> > GetAsync(Guid requestId)
 => await _provider.GetAsync(
     async() => await _operationRepository.GetAsync(requestId),
     async() => await _serviceClient.GetAsync <Operation>(requestId));