private void CalculaSubtotal() { try { decimal desconto = seDesconto.Value; decimal subtotal = 0m; decimal apagar = 0m; decimal entrega = seEntrega.Value; decimal liquidado = 0m; decimal descontado = 0m; if (ID_Nota != 0) { liquidado = new QDuplicata().BuscaTotalLiquidado(ID_Nota); descontado = new QDuplicata().BuscaTotalDesconto(ID_Nota); vlPrazo = new QDuplicata().BuscaTotalAprazo(ID_Nota); } var PagamentoPedido = new SYS.QUERYS.Lancamentos.Comercial.QPedido().Buscar(ID_Pedido).ToList(); for (int i = 0; i < bsItens.Count; i++) { subtotal += (bsItens[i] as MPedidoItem).VL_SUBTOTAL; } foreach (var posicaoRow in gvItens.GetSelectedRows()) { apagar += ((decimal?)gvItens.GetRowCellValue(posicaoRow, colVL_SUBTOTAL)).Padrao(); } seSubtotal.Value = subtotal; seApagar.Value = (apagar == 0 ? subtotal : apagar) - desconto - liquidado - descontado - vlPrazo + entrega; //if (ID_Pedido != 0 && PagamentoPedido[0].ID_FORMAPAGAMENTO != "") // seApagar.Value = 0m; if (seApagar.Value <= 0) { seDesconto.Value = 0m; seApagar.Value = ID_Nota > 0 ? seApagar.Value : subtotal; //if (ID_Pedido != 0 && PagamentoPedido[0].ID_FORMAPAGAMENTO != "") // seApagar.Value = 0m; } } catch (Exception) { } }
private void afterGravar(string condicao, decimal valor) { if (gvItens.DataSource == null) { return; } if (valor < seTotalPagar.Value) { valor = seTotalPagar.Value; } if (condicao == "01") { if (XtraMessageBox.Show("Confirmar fechamento em dinheiro?", "Pergunta", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No) { return; } } if (condicao == "03") { if (XtraMessageBox.Show("Confirmar fechamento em cartão de crédito?", "Pergunta", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No) { return; } } if (condicao == "04") { if (XtraMessageBox.Show("Confirmar fechamento em cartão de débito?", "Pergunta", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No) { return; } } if (condicao == "05") { BuscaClifor(); } decimal valorDoc = 0m; decimal liquidado = new QDuplicata().BuscaTotalLiquidado(ID_NOTA); decimal descontado = new QDuplicata().BuscaTotalDesconto(ID_NOTA); valorDoc = valor > seTotalPagar.Value - liquidado ? seTotalPagar.Value - liquidado : valor; valorTroco = condicao == "01" && valor > seTotalPagar.Value - liquidado ? valor - (seTotalPagar.Value - liquidado) : 0; var vpedido = new MPedido(); vpedido.ID_EMPRESA = 1; vpedido.ID_CLIFOR = ID_Clifor; vpedido.ST_ATIVO = gvItens.DataRowCount > 0; vpedido.ST_PEDIDO = "F"; vpedido.TP_MOVIMENTO = "S"; vpedido.CONDICAO_PAGAMENTO = condicao; vpedido.VALO_DOCUMENTO = valorDoc; for (int i = 0; i < bsItens.Count; i++) { vpedido.Itens.Add((bsItens[i] as MPedidoItem)); } var pedido = new SYS.QUERYS.Lancamentos.Comercial.QPedido(); var posicaoTransacao = 0; pedido.Gravar(vpedido, false, ref posicaoTransacao); NR_pedido = pedido.ID_PEDIDO; ID_NOTA = pedido.ID_NOTA; calculaSubTotal(true); if (seTotalPagar.Value > 0) { bsItens.Clear(); zeracampos(); if (valorTroco > 0) { teNM.Text = "Troco: " + valorTroco.ToString("N2"); } } //if(Mensagens.Pergunta("Deseja enviar e imprimir NFC-e?") == DialogResult.Yes) //{ // var processador = new FComunicadorFiscal_Processamento(); // var documento = QQuery.BancoDados.TB_FAT_NOTA_X_DOCUMENTOs.FirstOrDefault(a => a.ID_NOTA == pedido.ID_NOTA && a.ID_EMPRESA == vpedido.ID_EMPRESA); // processador.Enviar(documento.ID_DOCUMENTO, documento.ID_EMPRESA, Modelo.NFCe, Ambiente.Producao, Emissao.ContigenciaOFFLINE, ImpressaoDANFE.NFCe); //} }