public IPagedList <GiftCard> Search(GiftCardSearchQuery query)
        {
            IQueryOver <GiftCard, GiftCard> queryOver = _session.QueryOver <GiftCard>();

            if (!string.IsNullOrWhiteSpace(query.Recipient))
            {
                queryOver.Where(
                    x =>
                    x.RecipientEmail.IsInsensitiveLike(query.Recipient, MatchMode.Anywhere) ||
                    x.RecipientName.IsInsensitiveLike(query.Recipient, MatchMode.Anywhere));
            }
            if (!string.IsNullOrWhiteSpace(query.Sender))
            {
                queryOver.Where(
                    x =>
                    x.SenderEmail.IsInsensitiveLike(query.Sender, MatchMode.Anywhere) ||
                    x.SenderName.IsInsensitiveLike(query.Sender, MatchMode.Anywhere));
            }
            if (!string.IsNullOrWhiteSpace(query.GiftCode))
            {
                queryOver.Where(x => x.Code == query.GiftCode);
            }
            return(queryOver.OrderBy(card => card.CreatedOn).Desc.Paged(query.Page));
        }
 public ViewResult Index(GiftCardSearchQuery query)
 {
     ViewData["results"] = _giftCardAdminService.Search(query);
     return(View(query));
 }