public ActionResult Salvar(string clienteNome, int id)
 {
     if (String.IsNullOrWhiteSpace(clienteNome))
     {
         TempData["Mensagem"] = "Erro na busca do cliente";
         return RedirectToAction("JogosDisponiveis","Relatorio");
     }
     var repositorio = new ClienteRepositorio();
     var jogoRepositorio = new JogoRepositorio();
     var servicoLocacao = new ServicoLocacao() { JogoRepositorio=jogoRepositorio};
     var jogo = jogoRepositorio.BuscarPorId(id);
     var cliente = repositorio.BuscarPorNome(clienteNome).FirstOrDefault();
     if (servicoLocacao.PodeLocar(cliente))
     {
         var data = servicoLocacao.GerarDataDevolucao(jogo);
         if (cliente != null)
         {
             jogo.IdCliente = cliente.Id;
             jogo.LocarPara(cliente);
             jogo.DataDevolucao = data;
             jogoRepositorio.Atualizar(jogo);
             TempData["Mensagem"] = "Jogo Locado com Sucesso";
         }
     }
     else
     {
         TempData["Mensagem"] = "Cliente não pode locar mais jogos";
     }
     return RedirectToAction("JogosDisponiveis", "Relatorio");
 }
        public JsonResult ClienteAutocomplete(string term)
        {
            var banco = new ClienteRepositorio();
            IList<Cliente> jogosEncontrados = string.IsNullOrWhiteSpace(term) ? banco.BuscarTodos() : banco.BuscarPorNome(term);

            var json = jogosEncontrados.Select(x => new { label = x.Nome });

            return Json(json, JsonRequestBehavior.AllowGet);
        }
        private IList<Cliente> ObterJogosPorFiltro(string nome)
        {
            IClienteRepositorio clienteRepositorio = new  ClienteRepositorio();

            if (string.IsNullOrEmpty(nome))
                return clienteRepositorio.BuscarTodos();
            else
            {
                return clienteRepositorio.BuscarPorNome(nome);
            }
        }