Ejemplo n.º 1
0
        public async Task <ActionResult <ExpenseViewModel[]> > GetExpenses(
            string accountName,
            [FromQuery] long relatedToImportedExpense = 0,
            [FromQuery] string q           = "",
            [FromQuery] int limit          = 20,
            [FromQuery] int offset         = 0,
            [FromQuery] bool includeFuture = false)
        {
            accountName = Uri.UnescapeDataString(accountName);

            if (relatedToImportedExpense > 0)
            {
                var cmd = new GetExpensesRelatedToImportedExpenseQuery(accountName, relatedToImportedExpense);
                return(await this.mediator.Send(cmd));
            }
            else
            {
                var cmd = new GetExpensesQuery(accountName)
                {
                    Limit         = limit,
                    Offset        = offset,
                    IncludeFuture = includeFuture,
                    SearchText    = q
                };
                return(await this.mediator.Send(cmd));
            }
        }
Ejemplo n.º 2
0
        public async Task SearchTest(string searchText, long[] resultIds, string reason, bool includeFuture = true)
        {
            Thread.CurrentThread.CurrentCulture = new CultureInfo("DE");
            var cmd = new GetExpensesQuery("xxx")
            {
                SearchText    = searchText,
                Account       = new Account(1, "xxx"),
                IncludeFuture = includeFuture,
                Limit         = 100,
                Offset        = 0
            };

            var result = await this.target.Handle(cmd, CancellationToken.None);

            result.Select(i => i.Id).OrderBy(i => i).Should().BeEquivalentTo(resultIds, reason);
        }