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)); } }
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); }