示例#1
0
 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("#.##"));
        }
示例#3
0
        /// <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;
 }
        private void FinalizaCompra(IFormaPagamento formaPagamento)
        {
            this.compra.FinalizaPagamento(formaPagamento);

            MessageBox.Show("O valor total é " + this.compra.Total.ToString("#.##"));
        }
示例#6
0
 public void FinalizaPagamento(IFormaPagamento formaPagamento)
 {
     this.Total = formaPagamento.CalculaPagamento(this.Total);
 }