コード例 #1
0
        public async Task <IActionResult> Index(int?page, PacientSearchViewModel Search)
        {
            page ??= 1;
            var vm = new PacientIndexViewModel {
                Search = Search
            };

            var query = _pacientService.SearchPacient(Search.Name,
                                                      Search.CardNumber, Search.Address);

            var count = await query.CountAsync();

            var pvm = new PageViewModel(page.Value, 10, count);

            var skip = (page.Value - 1) * pvm.PageSize;

            query = _pacientService.SearchPacient(Search.Name,
                                                  Search.CardNumber, Search.Address, skip, pvm.PageSize, includeCard: true,
                                                  includeAddress: true, includeContacts: true);
            if (skip > count)
            {
                return(NotFound());
            }

            return(View("Index", new PacientIndexViewModel
            {
                Pacients = await query.ToListAsync(),
                PageViewModel = pvm,
                Search = Search
            }));
        }