public ActionResult JogosLocados() { var banco = new JogoRepositorio(); var clienteRepositorio = new ClienteRepositorio(); var jogosLocados = banco.BuscarTodos().Where(j => j.IdCliente != null).ToList(); List<JogoLocadoModel> jogos = new List<JogoLocadoModel>(); foreach (var j in jogosLocados) { jogos.Add(new JogoLocadoModel() { Id = j.Id, Nome = j.Nome, Categoria = j.Categoria.ToString(), NomeCliente = clienteRepositorio.BuscarPorId((int)j.IdCliente).Nome }); } if (jogos.Count > 0) { var model = new RelatorioModel() { JogosLocados = jogos, QuantidadeDeJogos = jogos.Count() }; return View(model); } return View(new RelatorioModel()); }
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); } }
public ActionResult Salvar(LocacaoModel model) { LocacaoRepositorio repLocacao = new LocacaoRepositorio(); Jogo jogo = new JogoRepositorio().BuscarPorId(model.IdJogo); Cliente cliente = new ClienteRepositorio().BuscarPorId(model.IdClient); Locacao Locacao = new Locacao(jogo, cliente, model.DataLocacao); repLocacao.Criar(Locacao); return RedirectToAction("JogosDisponiveis", "Relatorio"); }
public ActionResult DevolverJogo(int id) { var jogoRepositorio = new JogoRepositorio(); var clienteRepositorio = new ClienteRepositorio(); var servicoLocacao = new ServicoLocacao() { JogoRepositorio = jogoRepositorio }; Jogo jogo = jogoRepositorio.BuscarPorId(id); TempData["Cliente"] = clienteRepositorio.BuscarPorId((int)jogo.IdCliente).Nome; TempData["Valor"] = jogo.GerarValorDaLocacao().ToString("C"); bool devolver =servicoLocacao.DevolverJogo(jogo); if (devolver) { TempData["Mensagem"] = "Jogo Devolvido!"; TempData["DataEntrega"] = String.Format("{0:dd/MM/yyyy}",DateTime.Now.Date); return RedirectToAction("JogosLocados", "Relatorio"); } TempData["Mensagem"] = "Falha na devolução"; return RedirectToAction("JogosLocados", "Relatorio"); }