//Расширенный поиск
 public ActionResult exSearch(string id)
 {
     if (id != null)
     {
         var Search = new Search();
         Search.typeId = id;
         var exSearch      = new ExtandedSearchModel();
         var availItems    = new List <checkBoxListModel>();
         var selectedItems = new List <checkBoxListModel>();
         var claims        = applicationDAO.getAllCardClaims().Where(c => c.published == true);
         int count         = 0;
         foreach (var item in claims)
         {
             if (item.ClaimType != "TYPE")
             {
                 availItems.Add(new checkBoxListModel(count, item.ClaimValue, item.ClaimType));
             }
             count++;
         }
         Search.availItems          = availItems;
         Session["itemTypeSession"] = id;
         var cards = applicationDAO.getItemLayouts(id).Where(c => c.published == true);
         foreach (var i in cards)
         {
             Search.Cards.Add(i);
         }
         return(View(Search));
     }
     else
     {
         return(RedirectToAction("ItemTypes"));
     }
 }
 public ActionResult getItemTypeCards(int?id)
 {
     if (id != null)
     {
         cards        card       = _entities.cards.Find(id);
         List <cards> cardsQuery = _entities.cards.Where(c => c.layout.name == card.layout.name && c.ITEM_TYPE.NAME == card.ITEM_TYPE.NAME && c.published == true).ToList();
         var          Search     = new Search();
         String       itemTypeId = card.ITEM_TYPE.NAME;
         Search.typeId = itemTypeId;
         var exSearch      = new ExtandedSearchModel();
         var availItems    = new List <checkBoxListModel>();
         var selectedItems = new List <checkBoxListModel>();
         var claims        = applicationDAO.getAllCardClaims().Where(c => c.published == true);
         int count         = 0;
         foreach (var item in claims)
         {
             if (item.ClaimType != "TYPE")
             {
                 availItems.Add(new checkBoxListModel(count, item.ClaimValue, item.ClaimType));
             }
             count++;
         }
         Search.availItems          = availItems;
         Session["itemTypeSession"] = itemTypeId;
         //var cards = applicationDAO.getItemLayouts(itemTypeId).Where(c => c.published == true);
         //foreach (var i in cards)
         //{
         //    Search.Cards.Add(i);
         //}
         Search.Cards.AddRange(cardsQuery);
         return(View("exSearch", Search));
     }
     else
     {
         return(RedirectToAction("ItemTypes"));
     }
 }