コード例 #1
0
ファイル: DarumaEcf.cs プロジェクト: phsilvasantos/siscom-wpf
        public override bool VenderItem(SituacaoTributaria cargaTributaria, TipoProduto tipoProduto, decimal quantidade, decimal precoUnitario,
                                        TipoDescontoAcressimo tipoDescontoAcressimo, decimal valorDescontoAcressimo, int codigoItem, string unidadeMedida,
                                        string descricaoItem, decimal tributacao)
        {
            string aliquota;

            if (tributacao == 0 && cargaTributaria == SituacaoTributaria.Tributado)
            {
                aliquota = "I";
            }
            else
            {
                aliquota = PrefixoImposto(cargaTributaria, tipoProduto)
                           + FormataPercentual(tributacao);
            }
            if (cargaTributaria == SituacaoTributaria.SubstituicaoTributaria ||
                cargaTributaria == SituacaoTributaria.Isento ||
                cargaTributaria == SituacaoTributaria.NaoTributado)
            {
                aliquota = PrefixoImposto(cargaTributaria, tipoProduto);
            }
            Declaracoes.iRetorno = Declaracoes.iCFVender_ECF_Daruma(
                aliquota,
                AjustarCasasDecimais(FormataNumero(quantidade).ToString(), 3),
                AjustarCasasDecimais(FormataNumero(precoUnitario).ToString(), 2),
                AjustarCasasDecimais(TipoDescontoAcressimoToString(tipoDescontoAcressimo).ToString(), 2),
                AjustarCasasDecimais(FormataNumero(valorDescontoAcressimo).ToString(), 2),
                codigoItem.ToString(CultureInfo.InvariantCulture),
                unidadeMedida,
                descricaoItem
                );
            return(TrataRetorno(Declaracoes.iRetorno));
        }
コード例 #2
0
ファイル: DarumaEcf.cs プロジェクト: phsilvasantos/siscom-wpf
 public override bool TotalizarCupomFiscal(TipoDescontoAcressimo tipoDescontoAcressimo, decimal valorDescontoAcressimo)
 {
     Declaracoes.iRetorno = Declaracoes.iCFTotalizarCupom_ECF_Daruma(
         TipoDescontoAcressimoToString(tipoDescontoAcressimo),
         AjustarCasasDecimais(FormataNumero(valorDescontoAcressimo).ToString(), 2)
         );
     return(TrataRetorno(Declaracoes.iRetorno));
 }
コード例 #3
0
ファイル: DarumaEcf.cs プロジェクト: phsilvasantos/siscom-wpf
 public override bool LancarAcressimoUltimoItem(TipoDescontoAcressimo tipoDescontoAcressimo, decimal valorAcressimo)
 {
     Declaracoes.iRetorno = Declaracoes.iCFLancarAcrescimoUltimoItem_ECF_Daruma(
         TipoDescontoAcressimoToString(tipoDescontoAcressimo),
         AjustarCasasDecimais(FormataNumero(valorAcressimo).ToString(), 2)
         );
     return(TrataRetorno(Declaracoes.iRetorno));
 }
コード例 #4
0
 /// <summary>
 ///  Este método acrescenta um item vendido no Cupom Fiscal.
 ///  </summary><param name="cargaTributaria">A alíquota do item pode ser informada
 ///  através da posição dela cadastrada com o comando ou valor da alíquota pode ser informado
 ///  diretamente </param><param name="quantidade">Quantidade do Item</param>
 /// <param name="precoUnitario">Preço Unitário do Item.</param>
 /// <param name="tipoDescontoAcressimo">SubGrupo de Acréscimo ou Desconto no Item.</param>
 /// <param name="valorDescontoAcressimo">Valor do desconto ou acréscimo ou Valor da porcentagem.</param>
 /// <param name="codigoItem">Código do Item.</param>
 /// <param name="unidadeMedida">Unidade de medida.</param>
 /// <param name="descricaoItem">Descrição do Item.</param>
 /// <param name="tributacao">Valor dos tributos sobre o item.</param>
 /// <param name="tipoProduto">Parametro que identifica se o item é um produto, mercadoria ou serviço.</param>
 public abstract bool VenderItem(SituacaoTributaria cargaTributaria,
                                 TipoProduto tipoProduto,
                                 decimal quantidade, decimal precoUnitario,
                                 TipoDescontoAcressimo tipoDescontoAcressimo,
                                 decimal valorDescontoAcressimo,
                                 int codigoItem,
                                 string unidadeMedida,
                                 string descricaoItem,
                                 decimal tributacao);
コード例 #5
0
ファイル: DarumaEcf.cs プロジェクト: phsilvasantos/siscom-wpf
 public override bool LancarAcressimoItem(int numeroItem, TipoDescontoAcressimo tipoDescontoAcressimo, decimal valorAcressimo)
 {
     Declaracoes.iRetorno = Declaracoes.iCFLancarAcrescimoItem_ECF_Daruma(
         numeroItem.ToString(CultureInfo.InvariantCulture),
         TipoDescontoAcressimoToString(tipoDescontoAcressimo),
         AjustarCasasDecimais(FormataNumero(valorAcressimo).ToString(), 2)
         );
     return(TrataRetorno(Declaracoes.iRetorno));
 }
コード例 #6
0
 public override bool LancarDescontoUltimoItem(TipoDescontoAcressimo tipoDesconto, decimal valorDesconto)
 {
     try
     {
         MessageBox.Show(MensagemNaoSuportada);
     }
     catch (Bematech.BematechException ex)
     {
         ExibeMensagem("Erro ao lançar desconto.\n" + ex.Message);
         return(false);
     }
     return(true);
 }
コード例 #7
0
ファイル: DarumaEcf.cs プロジェクト: phsilvasantos/siscom-wpf
        public override bool IniciaFechamentoCupom(TipoDescontoAcressimo tipoDescAcresc, decimal desconto, decimal acrescimo)
        {
            bool ret = true;

            if (desconto > acrescimo)
            {
                ret = TotalizarCupomFiscal(TipoDescontoAcressimo.DescontoValor, desconto - acrescimo);
            }
            else
            {
                ret = TotalizarCupomFiscal(TipoDescontoAcressimo.AcressimoValor, acrescimo - desconto);
            }
            return(ret);
        }
コード例 #8
0
 public override bool LancarAcressimoItem(int numeroItem, TipoDescontoAcressimo tipoDescontoAcressimo, decimal valorAcressimo)
 {
     try
     {
         Impressora.Cupom.DescontarItem(
             numeroItem,
             TipoDescontoAcressimoToAcrescimoDesconto(tipoDescontoAcressimo),
             valorAcressimo);
     }
     catch (Bematech.BematechException ex)
     {
         ExibeMensagem("Erro ao lançar acrescimo em item.\n" + ex.Message);
         return(false);
     }
     return(true);
 }
コード例 #9
0
 public override bool IniciaFechamentoCupom(TipoDescontoAcressimo tipoDescAcresc, decimal desconto, decimal acrescimo)
 {
     try
     {
         Impressora.Cupom.IniciarFechamento(
             TipoDescontoAcressimoToAcrescimoDesconto(tipoDescAcresc),
             acrescimo,
             desconto
             );
     }
     catch (BematechException ex)
     {
         MessageBox.Show("Erro ao iniciar fechamento do cupom.\n" + ex.Message);
         return(false);
     }
     return(true);
 }
コード例 #10
0
ファイル: DarumaEcf.cs プロジェクト: phsilvasantos/siscom-wpf
        public String TipoDescontoAcressimoToString(TipoDescontoAcressimo tipoDescontoAcressimo)
        {
            switch (tipoDescontoAcressimo)
            {
            case TipoDescontoAcressimo.AcressimoPercentual:
                return("A%");

            case TipoDescontoAcressimo.AcressimoValor:
                return("A$");

            case TipoDescontoAcressimo.DescontoPercentual:
                return("D%");

            case TipoDescontoAcressimo.DescontoValor:
                return("D$");
            }
            return("");
        }
コード例 #11
0
        private TipoAcrescimoDesconto TipoDescontoAcressimoToAcrescimoDesconto(TipoDescontoAcressimo tipo)
        {
            switch (tipo)
            {
            case TipoDescontoAcressimo.AcressimoPercentual:
                return(TipoAcrescimoDesconto.Percentual);

            case TipoDescontoAcressimo.AcressimoValor:
                return(TipoAcrescimoDesconto.Valor);

            case TipoDescontoAcressimo.DescontoPercentual:
                return(TipoAcrescimoDesconto.Percentual);

            case TipoDescontoAcressimo.DescontoValor:
                return(TipoAcrescimoDesconto.Valor);
            }
            return(TipoAcrescimoDesconto.Valor);
        }
コード例 #12
0
 public override bool TotalizarCupomFiscal(TipoDescontoAcressimo tipoDescontoAcressimo, decimal valorDescontoAcressimo)
 {
     MessageBox.Show(MensagemNaoSuportada);
     return(false);
 }
コード例 #13
0
 public override bool IniciaFechamentoCupom(TipoDescontoAcressimo tipoDescAcresc, decimal desconto, decimal acrescimo)
 {
     return(true);
 }
コード例 #14
0
 public override bool LancarAcressimoUltimoItem(TipoDescontoAcressimo tipoDescontoAcressimo, decimal valorAcressimo)
 {
     MessageBox.Show(MensagemNaoSuportada);
     return(false);
 }
コード例 #15
0
 public abstract bool IniciaFechamentoCupom(TipoDescontoAcressimo tipoDescAcresc,
                                            decimal desconto, decimal acrescimo);
コード例 #16
0
 /// <summary>
 ///  Este método permite aplicar acréscimo no item do cupom fiscal antes da totalização.
 ///  </summary><param name="numeroItem">Número do Item</param><param name="tipoDescontoAcressimo">SubGrupo Acréscimo</param><param name="valorAcressimo">Valor do acréscimo ou Valor da porcentagem.</param>
 public abstract bool LancarAcressimoItem(int numeroItem, TipoDescontoAcressimo tipoDescontoAcressimo, decimal valorAcressimo);
コード例 #17
0
 /// <summary>
 ///  Este método totaliza o cupom fiscal, realizando a soma dos itens vendidos e
 ///  aplicando acréscimo ou desconto estabelecido.
 ///  </summary><param name="tipoDescontoAcressimo">SubGrupo Acréscimo ou Desconto</param><param name="valorDescontoAcressimo">Valor do acréscimo ou valor da porcentagem.</param>
 public abstract bool TotalizarCupomFiscal(TipoDescontoAcressimo tipoDescontoAcressimo, decimal valorDescontoAcressimo);
コード例 #18
0
 public override bool VenderItem(SituacaoTributaria cargaTributaria, TipoProduto tipoProduto, decimal quantidade,
                                 decimal precoUnitario, TipoDescontoAcressimo tipoDescontoAcressimo, decimal valorDescontoAcressimo,
                                 int codigoItem, string unidadeMedida, string descricaoItem, decimal tributacao)
 {
     try
     {
         string aliquota;
         if (tributacao == 0 && cargaTributaria == SituacaoTributaria.Tributado)
         {
             aliquota = "I";
         }
         else
         {
             aliquota = PrefixoImposto(cargaTributaria, tipoProduto)
                        + FormataPercentual(tributacao);
         }
         if (cargaTributaria == SituacaoTributaria.SubstituicaoTributaria ||
             cargaTributaria == SituacaoTributaria.Isento ||
             cargaTributaria == SituacaoTributaria.NaoTributado)
         {
             aliquota = PrefixoImposto(cargaTributaria, tipoProduto);
         }
         var item = new Item()
         {
             Aliquota       = aliquota,
             Codigo         = codigoItem.ToString(CultureInfo.InvariantCulture),
             Quantidade     = quantidade,
             Descricao      = descricaoItem,
             TipoQuantidade = TipoQuantidade.Fracionaria,
             CasasDecimais  = ContaCasasDecimais(quantidade),
             ValorUnitario  = precoUnitario
         };
         var validacao = "";
         var error     = item.Validar();
         foreach (ParametroInvalido invalido in error)
         {
             validacao += invalido.Descricao + Environment.NewLine;
         }
         if (!validacao.Equals(""))
         {
             MessageBox.Show("Erros encontrados.\n" + validacao);
         }
         Impressora.Cupom.AumentarDescricaoItem(item.Descricao);
         Impressora.Cupom.Vender(item);
         //Impressora.Cupom.Vender(codigoItem.ToString(CultureInfo.InvariantCulture),
         //    descricaoItem,
         //    aliquota,
         //    TipoQuantidade.Fracionaria,
         //    quantidade,
         //    ContaCasasDecimais(quantidade),
         //    precoUnitario,
         //    TipoDescontoAcressimoToAcrescimoDesconto(tipoDescontoAcressimo), // SubGrupo de desconto.
         //    valorDescontoAcressimo); // Valor desconto
         return(true);
     }
     catch (Bematech.BematechException ex)
     {
         ExibeMensagem("Erro ao vender item.\n" + ex.Message);
         CancelarCupom();
         throw;
         return(false);
     }
 }
コード例 #19
0
 public override bool LancarAcressimoUltimoItem(TipoDescontoAcressimo tipoDescontoAcressimo, decimal valorAcressimo)
 {
     return(true);
 }
コード例 #20
0
 public override bool LancarDescontoItem(int numeroItem, TipoDescontoAcressimo tipoDesconto, decimal valorDesconto)
 {
     return(true);
 }
コード例 #21
0
 public override bool TotalizarCupomFiscal(TipoDescontoAcressimo tipoDescontoAcressimo, decimal valorDescontoAcressimo)
 {
     return(true);
 }
コード例 #22
0
 /// <summary>
 ///  Este método permite aplicar desconto no último item do cupom fiscal
 ///  </summary><param name="tipoDesconto">SubGrupo Desconto</param><param name="valorDesconto">Valor do Desconto ou Valor da porcentagem.</param>
 public abstract bool LancarDescontoUltimoItem(TipoDescontoAcressimo tipoDesconto, decimal valorDesconto);