Exemple #1
0
        /// <summary>
        /// Gets the statements.
        /// </summary>
        /// <param name="since">Since a particular date</param>
        /// <param name="limit">Limit or size of the resultset</param>
        /// <returns>List&lt;Statement&gt;.</returns>
        /// <exception cref="System.NotImplementedException"></exception>
        public async Task <StatementsResultLRSResponse> GetStatements(DateTime since, int limit)
        {
            var queryParams = new StatementsQuery
            {
                Since = since,
                Limit = limit
            };

            return(await _lrs.QueryStatementsAsync(queryParams));
        }
Exemple #2
0
        public async Task TestGetStatementsSince()
        {
            var queryParams = new StatementsQuery
            {
                Since = new DateTime(2017, 1, 12),
                Limit = 10
            };
            var task = await _xAPIWrapper.GetStatements(queryParams);

            Assert.IsTrue(task.Success);
        }
Exemple #3
0
        public async Task TestGetStatements()
        {
            var queryParams = new StatementsQuery
            {
                Agent             = Support.Agent,
                VerbId            = Support.Verb.ID,
                ActivityId        = Support.Parent.ID,
                RelatedActivities = true,
                RelatedAgents     = true,
                Format            = StatementsQueryResultFormat.IDS,
                Limit             = 10
            };
            var task = await _xAPIWrapper.GetStatements(queryParams);

            Assert.IsTrue(task.Success);
        }
Exemple #4
0
        public async Task TestMoreStatementsAsync()
        {
            var query = new StatementsQuery
            {
                Format = StatementsQueryResultFormat.IDS,
                Limit  = 2
            };

            var queryRes = await _lrs.QueryStatementsAsync(query);

            if (queryRes.Success && queryRes.Content.More != null)
            {
                var moreRes = _lrs.MoreStatements(queryRes.Content);
                Assert.IsTrue(moreRes.Success);
                Console.WriteLine("TestMoreStatements - statement count: " + moreRes.Content.Statements.Count);
            }
        }
Exemple #5
0
        public async Task TestQueryStatementsAsync()
        {
            var query = new StatementsQuery
            {
                Agent             = Support.Agent,
                VerbId            = Support.Verb.Id,
                ActivityId        = Support.Parent.Id,
                RelatedActivities = true,
                RelatedAgents     = true,
                Format            = StatementsQueryResultFormat.Ids,
                Limit             = 10
            };

            var lrsRes = await _lrs.QueryStatementsAsync(query);

            Assert.IsTrue(lrsRes.Success);
            Console.WriteLine("TestQueryStatements - statement count: " + lrsRes.Content.Statements.Count);
        }
Exemple #6
0
        /// <inheritdoc/>
        public async Task <StatementsResult> GetStatementsResult(StatementsQuery parameters, CancellationToken cancellationToken = default)
        {
            HttpRequest      request      = httpContextAccessor.HttpContext.Request;
            IQueryCollection requestQuery = request.Query;

            var cmd = new PagedStatementsQuery()
            {
                ActivityId        = parameters.ActivityId,
                Agent             = parameters.Agent,
                Ascending         = parameters.Ascending,
                Attachments       = parameters.Attachments,
                Format            = parameters.Format,
                Registration      = parameters.Registration,
                RelatedActivities = parameters.RelatedActivities,
                RelatedAgents     = parameters.RelatedAgents,
                Limit             = parameters.Limit,
                Since             = parameters.Since,
                Until             = parameters.Until,
                StatementId       = parameters.StatementId,
                VerbId            = parameters.VerbId,
                VoidedStatementId = parameters.VoidedStatementId
            };

            if (requestQuery.TryGetValue("cursor", out StringValues value))
            {
                cmd.Cursor = (string)value;
            }

            var pagedResult = await mediator.Send(cmd, cancellationToken);

            var result = new StatementsResult()
            {
                Statements = mapper.Map <StatementCollection>(pagedResult.Statements)
            };

            if (pagedResult.Cursor != null)
            {
                string cursor       = pagedResult.Cursor;
                string relativePath = $"{request.Path}?cursor={cursor}";
                result.More = new Uri(relativePath, UriKind.Relative);
            }

            return(result);
        }
Exemple #7
0
 /// <summary>
 /// Gets the statements.
 /// </summary>
 /// <param name="searchParams">The search parameters.</param>
 /// <returns>List&lt;Statement&gt;.</returns>
 /// <exception cref="System.NotImplementedException"></exception>
 public async Task <StatementsResultLRSResponse> GetStatements(StatementsQuery searchParams)
 {
     return(await _lrs.QueryStatementsAsync(searchParams));
 }