示例#1
0
        public JsonResult UpdateDescontoCabecalhoPedidoPercentual(int codigoPedido, decimal percentualDesconto, bool cobrarEncargos)
        {
            ItemPedidoBLL      itemPedidoBLL      = new ItemPedidoBLL();
            CabecalhoPedidoBLL cabecalhoPedidoBLL = new CabecalhoPedidoBLL();
            string             mensagemErro;
            List <ItemPedido>  itens = itemPedidoBLL.getItemPedido(null, codigoPedido, out mensagemErro);

            if (String.IsNullOrEmpty(mensagemErro))
            {
                foreach (ItemPedido item in itens)
                {
                    decimal valorDescontoItem = Decimal.Multiply(item.Produto.ValorPorPessoa, (percentualDesconto / 100));

                    item.ValorDesconto = valorDescontoItem * item.Quantidade;
                    item.valorFinal    = item.Produto.ValorPorPessoa - valorDescontoItem;
                    item.Subtotal      = item.Quantidade * item.valorFinal;

                    itemPedidoBLL.updateItemPedido(item, out mensagemErro);
                }

                this.UpdateCobrarEncargos(codigoPedido, cobrarEncargos);

                CabecalhoPedido cabecalho = cabecalhoPedidoBLL.GetPedidoByCodigo(codigoPedido, out mensagemErro);

                return(Json(new { sucesso = true, valorTotal = cabecalho.ValorTotal, percentualDesconto = cabecalho.PercentualDesconto, valorDesconto = cabecalho.ValorDesconto }));
            }
            else
            {
                return(Json(new { sucesso = false, mensagemErro = mensagemErro }));
            }
        }
示例#2
0
        public JsonResult UpdateConfirmarItem(int codigoPedido, int codigoProduto)
        {
            ItemPedidoBLL BLL = new ItemPedidoBLL();
            string        mensagemErro;

            ItemPedido itemPedido = BLL.getItemPedido(codigoProduto, codigoPedido, out mensagemErro).FirstOrDefault();

            if (itemPedido != null)
            {
                itemPedido.Confirmado = true;

                if (!BLL.updateItemPedido(itemPedido, out mensagemErro))
                {
                    return(Json(new { sucesso = false, mensagemErro = mensagemErro }));
                }
            }
            else
            {
                return(Json(new { sucesso = false, mensagemErro = mensagemErro }));
            }

            return(Json(new { sucesso = true }));
        }
示例#3
0
        public JsonResult InserirItemResumido(int codigoPedido, int codigoProduto, int quantidade, decimal valorVenda, bool cobrarEncargos, int?codigoMotivo)
        {
            string        mensagemErro;
            ProdutoBLL    produtoBLL    = new ProdutoBLL();
            ItemPedidoBLL itemPedidoBLL = new ItemPedidoBLL();

            //Buscar o produto
            Produto produto = produtoBLL.GetProdutoById(codigoProduto, out mensagemErro);

            //CRIAR ITEM VENDIDO
            ItemPedido itemPedido = new ItemPedido();

            itemPedido.Produto.Codigo = codigoProduto;
            itemPedido.CodigoPedido   = codigoPedido;
            itemPedido.Quantidade     = quantidade;

            //ATRIBUIR DATAS
            itemPedido.DataInicioVigencia = DateTime.Now.AddDays(7);
            itemPedido.DataExpiracao      = DateTime.Now.AddDays(7).AddMonths(produto.MesesVigencia);

            //CALCULAR OS ENCARGOS
            decimal valorEncargo = 0;

            if (cobrarEncargos)
            {
                valorEncargo = valorVenda * (produto.PercentualIIS / 100);
            }
            itemPedido.ValorEncargos = quantidade * valorEncargo;

            //CALCULAR VALOR DE DESCONTO
            itemPedido.ValorDesconto = (produto.ValorPorPessoa - valorVenda > 0 ? produto.ValorPorPessoa - valorVenda : 0);

            //CALCULAR VALORES TOTAIS
            itemPedido.valorFinal = valorVenda;
            itemPedido.Subtotal   = (valorVenda * quantidade) + itemPedido.ValorEncargos;

            //DADOS GERAIS
            itemPedido.Confirmado         = false;
            itemPedido.CodigoMotivoPedido = (codigoMotivo.HasValue && codigoMotivo > 0 ? (int)codigoMotivo : 1);
            itemPedido.ValorDesconto      = 0;

            //VERIFICAR SE O PRODUTO JÁ FOI VENDIDO
            List <ItemPedido> retorno = itemPedidoBLL.getItemPedido(codigoProduto, codigoPedido, out mensagemErro);

            if (retorno == null || retorno.Count == 0)
            {
                //INSERIR O ITEM
                if (itemPedidoBLL.insertItemPedido(itemPedido, out mensagemErro))
                {
                    return(Json(new { sucesso = true, item = itemPedido }));
                }
                else
                {
                    return(Json(new { sucesso = false, mensagemErro = mensagemErro }));
                }
            }
            else
            {
                //ATUALIZA O ITEM
                if (itemPedidoBLL.updateItemPedido(itemPedido, out mensagemErro))
                {
                    return(Json(new { sucesso = true, item = itemPedido }));
                }
                else
                {
                    return(Json(new { sucesso = false, mensagemErro = mensagemErro }));
                }
            }
        }