public IHttpActionResult Criar([FromBody] CriarLocacaoModel model)
        {
            var cliente = repositorioCliente.BuscarPorId(model.IdCliente);
            var produto = repositorioProduto.BuscarPorId(model.IdProdutoConsole);
            var pacote  = repositorioPacote.BuscarPorId(model.IdPacote);
            //var extra = repositorioExtra.BuscarPorId(model.IdExtra);
            var locacao = new Locacao(cliente, produto, pacote);

            var extraJogo     = repositorioExtra.BuscarPorId(1);
            var extraControle = repositorioExtra.BuscarPorId(2);

            if (produto.Estoque - 1 < 0 ||
                extraJogo.Estoque - 1 < 0 || extraJogo.Estoque - 2 < 0 || extraJogo.Estoque - 7 < 0 ||
                extraControle.Estoque - 1 < 0 || extraControle.Estoque - 2 < 0)
            {
                return(BadRequest());
            }

            repositorioProduto.Alugar(produto);
            switch (pacote.Id)
            {
            case 1:
                repositorioExtra.Alugar(extraJogo, 1);
                repositorioExtra.Alugar(extraControle, 1);
                break;

            case 2:
                repositorioExtra.Alugar(extraJogo, 2);
                repositorioExtra.Alugar(extraControle, 1);
                break;

            case 3:
                repositorioExtra.Alugar(extraJogo, 7);
                repositorioExtra.Alugar(extraControle, 2);
                break;
            }

            repositorioLocacao.Criar(locacao);
            return(Ok(new { dados = locacao }));
        }
Exemple #2
0
        public IHttpActionResult BuscarPorId(int id)
        {
            var extra = repositorio.BuscarPorId(id);

            return(Ok(new { dados = extra }));
        }