/// <summary> /// Efetua um pagamento com cartão /// </summary> public void Pagar(IImpressoraFormaPagto forma, decimal valor, string numeroCOO, DadosCheque cheque = null) { valor = Math.Round(valor, 2); FormaPagamento = forma; NumeroCOO = numeroCOO; Valor = valor; string indice = string.Format("{0:D2}", forma.Indice); switch (forma.FormaPagamento.TipoForma) { case Enuns.Cadastro.TipoForma.Dinheiro: break; case Enuns.Cadastro.TipoForma.Cheque: if (cheque != null) Cheque = cheque; ACBrTEF.CHQEmGerencial = true; ACBrTEF.CHQ(valor, indice.ToString(), NumeroCOO, string.Empty, Convert.ToChar("F"), string.Empty, DateTime.Now, string.Empty, string.Empty, string.Empty, string.Empty, string.Empty, string.Empty, string.Empty, string.Empty); break; case Enuns.Cadastro.TipoForma.CartaoDebito: ACBrTEF.CRT(valor, indice, numeroCOO); break; case Enuns.Cadastro.TipoForma.CartaoCredito: ACBrTEF.CRT(valor, indice, numeroCOO); break; case Enuns.Cadastro.TipoForma.CartaoPrivateLabel: break; case Enuns.Cadastro.TipoForma.ConfirmacaoPreAutorizacao: break; case Enuns.Cadastro.TipoForma.CreditoConsumidor: break; default: break; } }
/// <summary> /// Efetua forma de pagamento a cartão /// </summary> /// <param name="forma">Indíce da forma de pagamento da impressora fiscal</param> /// <param name="valor">Valor da forma de pagamento</param> public void Pagar(IImpressoraFormaPagto forma, decimal valor, DadosCheque cheque = null) { valor = Math.Round(valor, 2); FormaPagamento = forma; Valor = valor; string indice = string.Format("{0:D2}", forma.Indice); switch (forma.FormaPagamento.TipoForma) { case Enuns.Cadastro.TipoForma.Dinheiro: break; case Enuns.Cadastro.TipoForma.Cheque: if (cheque != null) Cheque = cheque; ACBrTEF.CHQ(valor, indice); break; case Enuns.Cadastro.TipoForma.CartaoDebito: ACBrTEF.CRT(valor, indice); break; case Enuns.Cadastro.TipoForma.CartaoCredito: ACBrTEF.CRT(valor, indice); break; case Enuns.Cadastro.TipoForma.CartaoPrivateLabel: break; case Enuns.Cadastro.TipoForma.ConfirmacaoPreAutorizacao: break; case Enuns.Cadastro.TipoForma.CreditoConsumidor: break; default: break; } }
private void btnOK_Click(object sender, System.EventArgs e) { ParentForm.DialogResult = DialogResult.None; #region Validar antes de continuar if (GUID.IsNullOrEmpty(lstFormaPagto.SelectedItem == null ? GUID.Empty : ((FormaPagamentoValue)lstFormaPagto.SelectedItem).value)) { MessageBox.RequiredField(lstFormaPagto, "Forma de Pagamento"); return; } if (maskValorRecebido.Value <= 0) { MessageBox.RequiredField(maskValorRecebido, "Valor Recebido"); return; } //Validar o campo "Condição de Pagamento" e "Parcelas", somente se for o pagamento parcelado IImpressoraFormaPagto impForma = new ImpressoraFormaPagto(((FormaPagamentoValue)lstFormaPagto.SelectedItem).value.ToString()); if (Tipo == Enuns.Cadastro.TipoForma.Parcelado) { if (GUID.IsNullOrEmpty(usParcela.CondicaoPagamento == null ? GUID.Empty : usParcela.CondicaoPagamento.GUID)) { MessageBox.RequiredField(usParcela, "Condição de Pagamento"); return; } else if (usParcela.Parcelas.Count == 0) { MessageBox.RequiredField(usParcela, "Parcelas"); return; } } if (!Settings.TEF.UsaTEF && Tipo.IsTEF()) { if (txtNSU.Text.IsNullOrEmpty()) { MessageBox.RequiredField(txtNSU, "Valor NSU"); return; } } #endregion ParentForm.DialogResult = DialogResult.OK; if (OnOkClick != null) { FormaPagamentoEventArgs f = new FormaPagamentoEventArgs(FormaPagto.GUID); DadosCheque d = new DadosCheque(); d.Agencia = txtChequeAgencia.Text; d.AgenciaDC = txtChequeC1.Text; d.Compensacao = Unimake.Convert.ToInt(txtChequeComp.Text); d.ContaCorrente = txtChequeContaCorrente.Text; d.ContaCorrenteDC = txtChequeC2.Text; d.Numero = txtChequeNumero.Text; d.NumeroDC = txtChequeC3.Text; d.Banco = new Banco(sfChequeBanco.SelectedItem.GUID); d.NumeroAutorizacao = txtNumAutorizacao.Text; f.Cheque = d; f.NSU = NSU; f.Voucher = Voucher; f.FormaPagamentoSelecionada = FormaPagto; OnOkClick(this, f); } }