public ActionResult Salvar(JogoDetalhadoModel model)
        {
            if (ModelState.IsValid)
            {

                JogoRepositorio repositorio = new JogoRepositorio();
                Jogo jogo = new Jogo(model.Id ?? default(int))
                {
                    Nome = model.Nome,
                    Categoria = model.Categoria,
                    Descricao = model.Descricao,
                    Imagem = model.Imagem,
                    Selo = model.Selo
                };

                if (model.Id.HasValue)
                {
                    repositorio.Atualizar(jogo);
                }
                else
                {
                    repositorio.Criar(jogo);
                }

                return RedirectToAction("JogosDisponiveis", "Relatorio");
            }
            else
            {
                return View("Manter", model.Id);
            }
        }
Пример #2
0
        public void Inicializador()
        {
            Database.SetInitializer(new InicializadorBanco <LojaJogosContexto>());

            _contexto = new LojaJogosContexto();

            _repositorio = new JogoRepositorio();

            _jogo = ConstrutorObjeto.CriarJogo();

            _contexto.Database.Initialize(true);
        }
        public ActionResult Manter(int? id)
        {
            if (id.HasValue)
            {
                JogoRepositorio repositorio = new JogoRepositorio();
                JogoDetalhadoModel jogo = new JogoDetalhadoModel(repositorio.BuscarPorId((int)id));

                return View(jogo);
            }

            return View();
        }
        public ActionResult DetalhesJogo(int id)
        {
            var repositorio = new JogoRepositorio();

            var jogo = repositorio.BuscarPorId(id);

            if (jogo == null)
            {
                return View("NenhumRegistroEncontrado");
            }

            var jogoModel = new JogoModel(jogo);
            return View(jogoModel);
        }
        public decimal Devolver(ServicoLocacao locacao)
        {
            using (BancoDeDados db = new BancoDeDados())
            {
                JogoRepositorio jogoRepositorio = new JogoRepositorio();
                jogoRepositorio.DevolverJogo(locacao.IdJogo);

                decimal valor = locacao.CalcularValor();
                db.Entry(locacao).State = System.Data.Entity.EntityState.Deleted;
                db.SaveChanges();

                return valor;
            }
        }
        public ActionResult InformacaoJogo(int id)
        {
            JogoRepositorio repositorio = new JogoRepositorio();
            RelatorioJogosModel relatorio = new RelatorioJogosModel();

            Jogo jogo = repositorio.BuscarPorId(id);
            if (jogo != null)
            {
                JogoDetalhadoModel jogoModel = new JogoDetalhadoModel(jogo);
                return View(jogoModel);
            }
            else
            {
                return RedirectToAction("JogosDisponiveis", "Relatorio");
            }
        }
        public ActionResult JogosDisponiveis(string nome)
        {
            JogoRepositorio repositorio = new JogoRepositorio();
            RelatorioJogosModel relatorio = new RelatorioJogosModel();
            IList<Jogo> listaJogos;

            if (nome == null)
                listaJogos = repositorio.BuscarDisponiveis();
            else
                listaJogos = repositorio.BuscarPorNome(nome);

            if (listaJogos.Any())
                PreencherRelatorio(relatorio, listaJogos);

            return View(relatorio);
        }
        public bool Locar(Jogo jogo, Cliente cliente)
        {
            if (ClientePodeLocar(cliente) && JogoLocavel(jogo))
            {
                ServicoLocacao locacao = new ServicoLocacao(jogo, cliente);
                JogoRepositorio jogoRepositorio = new JogoRepositorio();

                jogoRepositorio.LocarJogo(jogo.Id);

                using (var db = new BancoDeDados())
                {
                    db.Entry(locacao).State = System.Data.Entity.EntityState.Added;
                    return db.SaveChanges() == 1;
                }
            }
            return false;
        }
        public ActionResult BuscaPorJogo(string nomeJogo)
        {
            JogoRepositorio repo = new JogoRepositorio();
            var jogos = repo.BuscarPorNome(nomeJogo);

            ServicoLocacaoRepositorio locacaoRepo = new ServicoLocacaoRepositorio();
            List<LocacaoModel> model = new List<LocacaoModel>();

            foreach (Jogo jogo in jogos)
            {
                ServicoLocacao locacao = locacaoRepo.PesquisarPorJogo(jogo.Id);
                if (locacao != null)
                    model.Add(new LocacaoModel(locacao));
            }

            if (model.Count == 0)
                TempData["Fail"] = "Nenhum jogo encontrado.";

            return View("ListaLocacoes", model);
        }
        public ActionResult ManterJogo(int? id)
        {
            if (id.HasValue)
            {
                var repositorio = new JogoRepositorio();
                var jogo = repositorio.BuscarPorId(id.Value);

                if (jogo == null)
                {
                    TempData["Mensagem"] = "Id não encontrado!";
                    return View();
                }

                TempData["TipoManter"] = "Atualizar Jogo";
                var jogoModel = new JogoModel(jogo);
                return View(jogoModel);

            }

            TempData["TipoManter"] = "Cadastrar Jogo";
            return View();
        }