//
        // GET: /Home/
        public ActionResult Search(String id)
        {
            int counter = 5;
            var result  = new List <KeyValuePair <String, String> >();

            BoardDataMapper b = BoardDataMapper.GetBoardDataMapper();

            //Guarda os boards do user e procura boards cujo nome contenha id
            IEnumerable <BoardsModel> boards = b.GetBoardsFrom(AccountDataMapper.GetAccountDataMapper().GetById(User.Identity.Name));

            GetResultsByName(boards, "/Boards/GetLists/", "[Board]", result, counter, id);

            //No caso de ainda poderem ser adicionados resultados adiciona lists
            if (counter > 0)
            {
                //Procura listas
                var            allLists = new List <ListsModel>();
                ListDataMapper l        = ListDataMapper.GetListDataMapper();
                foreach (BoardsModel bm in boards)
                {
                    IEnumerable <ListsModel> lists = l.GetAllByBoard(bm);
                    allLists.AddRange(lists);
                    GetResultsByName(lists, "/Lists/GetCards/", "[List]", result, counter, id);
                }

                //Se ainda poderem ser adicionados resultados adiciona cards
                if (counter > 0)
                {
                    var            allCards = new List <CardsModel>();
                    CardDataMapper c        = CardDataMapper.GetCardDataMapper();
                    foreach (ListsModel lm in allLists)
                    {
                        IEnumerable <CardsModel> cards = c.GetAllByList(lm);
                        allCards.AddRange(cards);
                        GetResultsByName(cards, "/Cards/GetCard/", "[Card]", result, counter, id);
                    }

                    //Se ainda poderem ser adicionados resultados adiciona cards pela descrição
                    if (counter > 0)
                    {
                        GetResultsByDescription(allCards, "/Cards/GetCard/", "[Card]", result, counter, id);
                    }
                }
            }
            return(PartialView("Search", result));
        }