示例#1
0
 public Task <TransactionCollectionResult> GetTransactionsAsync(string?accountId, TransactionArgs?args, PagingArgs?paging)
 {
     return(DataInvoker.Current.InvokeAsync(this, async() =>
     {
         TransactionCollectionResult __result = new TransactionCollectionResult(paging);
         var __dataArgs = CosmosMapper.Default.CreateArgs("Transaction", __result.Paging !, new PartitionKey(accountId), onCreate: _onDataArgsCreate);
         __result.Result = _cosmos.Container(__dataArgs).Query(q => _getTransactionsOnQuery?.Invoke(q, accountId, args, __dataArgs) ?? q).SelectQuery <TransactionCollection>();
         return await Task.FromResult(__result).ConfigureAwait(false);
     }));
示例#2
0
        public IEnumerable <PrincipalReportDto> GetMeetingHostReport(IAdobeConnectProxy provider)
        {
            if (provider == null)
            {
                throw new ArgumentNullException(nameof(provider));
            }

            var group = provider.GetGroupsByType(PrincipalType.live_admins);

            if (group.Status.Code != StatusCodes.ok)
            {
                throw new InvalidOperationException("AC.GetGroupsByType error");
            }

            PrincipalCollectionResult usersResult = provider.GetGroupUsers(group.Values.First().PrincipalId);

            if (usersResult.Status.Code != StatusCodes.ok)
            {
                throw new InvalidOperationException("AC.GetGroupUsers error");
            }

            var result = new List <PrincipalReportDto>();

            foreach (Principal user in usersResult.Values)
            {
                var item = new PrincipalReportDto
                {
                    Principal = PrincipalDto.Build(user),
                };

                TransactionCollectionResult trxResult = provider.ReportMeetingTransactionsForPrincipal(user.PrincipalId, startIndex: 0, limit: 1);

                if (trxResult.Status.Code != StatusCodes.ok)
                {
                    throw new InvalidOperationException("AC.ReportMeetingTransactionsForPrincipal error");
                }

                TransactionInfo trx = trxResult.Values.FirstOrDefault();

                if (trx != null)
                {
                    item.LastTransaction = TransactionInfoDto.Build(trx);
                }

                result.Add(item);
            }

            return(result.AsReadOnly());
        }
示例#3
0
 public Task <TransactionCollectionResult> GetTransactionsAsync(string?accountId, TransactionArgs?args, PagingArgs?paging)
 {
     return(DataInvoker.Default.InvokeAsync(this, async() =>
     {
         TransactionCollectionResult __result = new TransactionCollectionResult(paging);
         var __dataArgs = CosmosMapper.Default.CreateArgs("Transaction", __result.Paging !, new PartitionKey(accountId));
         _onDataArgsCreate?.Invoke(__dataArgs);
         if (_getTransactionsOnBeforeAsync != null)
         {
             await _getTransactionsOnBeforeAsync(accountId, args, __dataArgs).ConfigureAwait(false);
         }
         __result.Result = CosmosDb.Default.Container(__dataArgs).Query(q => _getTransactionsOnQuery == null ? q : _getTransactionsOnQuery(q, accountId, args, __dataArgs)).SelectQuery <TransactionCollection>();
         if (_getTransactionsOnAfterAsync != null)
         {
             await _getTransactionsOnAfterAsync(__result, accountId, args).ConfigureAwait(false);
         }
         return __result;
     }, new BusinessInvokerArgs {