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 })); } }
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 })); }
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 })); } } }