コード例 #1
0
        public IHttpActionResult Criar(Locacao locacao)
        {
            List <string> msg = null;

            if (VerificaLocacaoRepositorio.Verifica(locacao, out msg) == false)
            {
                return(BadRequest(String.Join(" ", msg)));
            }

            return(Ok(repo.Criar(locacao)));
        }
コード例 #2
0
        public HttpResponseMessage CriarLocacao([FromBody] RegistrarLocacaoModel model)
        {
            var cliente = _clienteRepositiorio.Obter(model.IdCliente);
            var usuario = _usuarioRepositorio.Obter(model.EmailUsuario);

            model.ExtraPacote.Pacote = _locacaoRepositorio.ObterPacote(model.IdPacote);
            model.ExtraPacote.Extra  = _extraRepositorio.Obter(model.IdExtra);

            var locacao = new Locacao(cliente, usuario, model.Produto, model.DataEntrega, model.DataPedido, model.ExtraPacote, model.ValorPrevisto);

            return(ResponderOK(_locacaoRepositorio.Criar(locacao)));
        }
コード例 #3
0
        public IHttpActionResult IncluirLocacao(LocacaoModel locacaoModel)
        {
            var cliente = locacaoModel.Cliente;
            var produto = locacaoModel.Produto;
            var pacote  = locacaoModel.Pacote;

            var locacao = new Locacao(cliente, produto, pacote, locacaoModel.Opcionais);

            repositorioLocacao.Criar(locacao);

            repositorioProduto.DiminuirEstoque(produto.Id);
            repositorioOpcionais.DiminuirEstoque(locacaoModel.Opcionais);
            repositorioOpcionais.DiminuirEstoque(locacaoModel.Pacote.Opcionais);

            return(Ok(locacao));
        }
コード例 #4
0
        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 }));
        }