public void FinalizaPagamento(IFormaPagamento formaPagamento) { this.Total = formaPagamento.CalculaPagamento(this.Total); }
private void FinalizaCompra(IFormaPagamento formaPagamento) { this.compra.FinalizaPagamento(formaPagamento); MessageBox.Show("O valor total é " + this.compra.Total.ToString("#.##")); }
/// <summary> /// Método para impressão dos pagamentos no cupom fiscal e atualização na bobina /// </summary> /// <param name="venda">Instancia da venda </param> /// <param name="totalDinheiro">Total do pagamento </param> /// <param name="forma">Forma de pagamento com os dados da impressora como índice, etc. /// Observação: se não for informado nenhuma forma é utilizado a forma de pagamento DINHEIRO /// </param> public void ImprimePagamento(IMovimento venda, double totalDinheiro, IFormaPagamento forma = null) { string line = string.Empty; double troco = Math.Round(venda.Baixa.Formas.Where(k => k.FormaPagamento.TipoForma == Enuns.Cadastro.TipoForma.Dinheiro || k.FormaPagamento.TipoForma == Enuns.Cadastro.TipoForma.Voucher) .Sum(k => k.ValorLiquido) - venda.ValorTotalLiquido, 2); double totalVenda = Math.Round(venda.ValorTotalLiquido, 2); if (StatusImpressao != BobinaStatusImpressao.Subtotaliza) return; if (forma == null) line = "DINHEIRO R${0}{1:N2}"; else { switch (forma.TipoForma) { case Enuns.Cadastro.TipoForma.CartaoCredito: case Enuns.Cadastro.TipoForma.CartaoDebito: case Enuns.Cadastro.TipoForma.CartaoPrivateLabel: line = "CARTÃO R${0}{1:N2}"; break; case Enuns.Cadastro.TipoForma.Cheque: line = "CHEQUE R${0}{1:N2}"; break; case Enuns.Cadastro.TipoForma.ConfirmacaoPreAutorizacao: case Enuns.Cadastro.TipoForma.CreditoConsumidor: line = "CDC R${0}{1:N2}"; break; case Enuns.Cadastro.TipoForma.Dinheiro: line = "DINHEIRO R${0}{1:N2}"; break; case Enuns.Cadastro.TipoForma.Voucher: line = "VOUCHER R${0}{1:N2}"; break; case Enuns.Cadastro.TipoForma.Parcelado: line = "PARCELADO R${0}{1:N2}"; break; } } if (troco > 0 && !ImpressoTroco) { WriteLine(line, "".PadLeft(MaxLengthLine - 14 - totalDinheiro.ToString().Length), totalDinheiro); line = "TROCO R${0}{1:N2}"; WriteLine(line, "".PadLeft(MaxLengthLine - 11 - troco.ToString().Length), troco); ImpressoTroco = true; } else { WriteLine(line, "".PadLeft(MaxLengthLine - 14 - totalDinheiro.ToString().Length), totalDinheiro); } StatusImpressao = BobinaStatusImpressao.FormaPagamento; }
public Pedido(IFormaPagamento forma) { this._forma = forma; }