public async Task <IActionResult> Index(string voucherCode, int?pageNumber, string deleteMessage)
        {
            // kontrola zda-li si uživatel přeje vyhledat voucher
            if (!string.IsNullOrEmpty(voucherCode))
            {
                // vyhledání voucheru v DB podle kódu
                Voucher voucher = voucherRepository.FindVoucherByCode(voucherCode);
                if (voucher != null)
                {
                    // přesměrování uživatele na detail voucheru
                    return(RedirectToAction("Details", "Voucher", new { id = voucher.Id }));
                }
                else
                {
                    // zobrazeníchybové hlášky, nebyl-li voucher nalezen
                    ViewBag.ErrorMessage = $"Voucher s kódem '{voucherCode}' nebyl nalezen.";
                }
            }

            ViewBag.DeleteMessage = deleteMessage;

            // nechtěl-li uživatel voucher vyhledat, jsou mu zobrazeny všechnyvouchery
            // získání všech voucherů z DB
            IQueryable <Voucher> vouchers = voucherRepository.GetAllVouchersAsIQueriable();

            // počet voucherů na jedné straně
            int pageSize = 6;

            return(View(await PaginatedList <Voucher> .CreateAsync(vouchers.AsNoTracking(), pageNumber ?? 1, pageSize)));
        }