public async Task <(JournalViewModel, ServiceModelState)> GetById(string id) { var user = context.GetCurrentUser(); var journal = await context.Journals.AsNoTracking() .Where(j => j.Id == id) .IncludeAccounts() .SingleOrDefaultAsync(); return(JournalViewModel.Of(journal), null); }
public async Task <(IEnumerable <JournalViewModel>, ServiceModelState)> Search(JournalSearchModel search) { var query = context.Journals .IncludeAccounts(); if (!string.IsNullOrEmpty(search.Memo)) { query = query.Where(j => j.Memo.Contains(search.Memo)); } if (!string.IsNullOrEmpty(search.AccountId)) { query = query.WhereUsedAccountId(search.AccountId); } if (search.JournalDiv != null) { query = query.Where(j => j.JournalDiv == search.JournalDiv); } if (search.FinanceDiv != null) { query = query.WhereUsedFinaceDiv(search.FinanceDiv); } if (search.AccrualDateStart != null) { query = query.Where(j => j.AccrualDate >= search.AccrualDateStart); } if (search.AccrualDateEnd != null) { query = query.Where(j => j.AccrualDate <= search.AccrualDateEnd); } var journlas = await query.AsNoTracking() .OrderBy(j => j.AccrualDate) .ThenBy(j => j.JournalDiv) .ThenBy(j => j.CreatedDate) .ThenBy(j => j.Id) .Select(j => JournalViewModel.Of(j)) .ToListAsync(); return(journlas, null); }