public Task <FilterResultModel <JornalEntryListView> > Handle(GetJornalEntryListQuery request, CancellationToken cancellationToken) { var sortBy = request.SortBy.Trim() != "" ? request.SortBy : "VoucherId"; var sortDirection = (request.SortDirection.ToUpper() == "DESCENDING") ? true : false; FilterResultModel <JornalEntryListView> result = new FilterResultModel <JornalEntryListView> (); CustomDateConverter converter = new CustomDateConverter(); var start = Convert.ToInt32(request.Year) - 1; var start_date = converter.EthiopicToGregorian($"1/11/{start}"); var end_date = converter.EthiopicToGregorian($"30/10/{request.Year}"); var jornalEntries = _database.Ledger .Where(l => l.Date >= start_date && l.Date <= end_date) .Select(JornalEntryListView.Projection) .Select(DynamicQueryHelper.GenerateSelectedColumns <JornalEntryListView> (request.SelectedColumns)) .AsQueryable(); if (request.Filter.Count() > 0) { jornalEntries = jornalEntries .Where(DynamicQueryHelper .BuildWhere <JornalEntryListView> (request.Filter)).AsQueryable(); } result.Count = jornalEntries.Count(); result.Items = jornalEntries.OrderBy(sortBy, sortDirection).Skip(request.PageNumber) .Take(request.PageSize) .ToList(); return(Task.FromResult <FilterResultModel <JornalEntryListView> > (result)); }
public async Task ReturnListOfJornalEntryViewSuccessfuly() { GetJornalEntryListQuery query = new GetJornalEntryListQuery(); var result = await handler.Handle(query, CancellationToken.None); Assert.IsType <FilterResultModel <JornalEntryListView> > (result); }