Esempio n. 1
0
        public void Atualizar(COFINS p)
        {
            try
            {
                AbrirConexao();

                strSQL = "update [COFINS] set [CD_TIPO] = @v2, [VL_COFINS] = @v3, [DS_COFINS] = @v4 Where [CD_INDEX] = @v1";
                Cmd    = new SqlCommand(strSQL, Con);

                Cmd.Parameters.AddWithValue("@v1", p.CodigoIndice);
                Cmd.Parameters.AddWithValue("@v2", p.CodigoTipo);
                Cmd.Parameters.AddWithValue("@v3", p.ValorCOFINS);
                Cmd.Parameters.AddWithValue("@v4", p.DescricaoCOFINS);

                Cmd.ExecuteNonQuery();
            }
            catch (Exception ex)
            {
                throw new Exception("Erro ao atualizar COFINS: " + ex.Message.ToString());
            }
            finally
            {
                FecharConexao();
            }
        }
Esempio n. 2
0
        private COFINS COFINS(string CSTCOFINS, string vBCCOFINS, string pCOFINS, string qBCProdCOFINS, string vAliqProdCOFINS)
        {
            var COFINS = new COFINS();

            if (CSTCOFINS == "01" || CSTCOFINS == "02")
            {
                COFINS = new COFINS
                {
                    COFINSAliq = new COFINSAliq
                    {
                        CST     = CSTCOFINS,
                        vBC     = vBCCOFINS,
                        pCOFINS = double.Parse(pCOFINS.Replace(".", ",")).ToString("0.0000").Replace(",", ".")
                    }
                };
            }
            else if (CSTCOFINS == "03")
            {
                COFINS = new COFINS
                {
                    COFINSQtde = new COFINSQtde
                    {
                        CST       = CSTCOFINS,
                        qBCProd   = qBCProdCOFINS,
                        vAliqProd = double.Parse(vAliqProdCOFINS.Replace(".", ",")).ToString("0.00").Replace(",", ".")
                    }
                };
            }
            else if (CSTCOFINS == "04" || CSTCOFINS == "06" || CSTCOFINS == "07" || CSTCOFINS == "08" || CSTCOFINS == "09")
            {
                COFINS = new COFINS
                {
                    COFINSNT = new COFINSNT
                    {
                        CST = CSTCOFINS
                    }
                };
            }
            else if (CSTCOFINS == "99")
            {
                COFINS = new COFINS
                {
                    COFINSOutr = new COFINSOutr
                    {
                        CST       = CSTCOFINS,
                        vBC       = vBCCOFINS,
                        pCOFINS   = double.Parse(pCOFINS.Replace(".", ",")).ToString("0.0000").Replace(",", "."),
                        qBCProd   = qBCProdCOFINS,
                        vAliqProd = double.Parse(vAliqProdCOFINS.Replace(".", ",")).ToString("0.00").Replace(",", ".")
                    }
                };
            }

            return(COFINS);
        }
Esempio n. 3
0
        public List <COFINS> ListarCOFINS(string strNomeCampo, string strTipoCampo, string strValor, string strOrdem)
        {
            try
            {
                AbrirConexao();

                string strSQL = "Select C.CD_INDEX, C.CD_COFINS, C.VL_COFINS, C.DS_COFINS, HT.DS_TIPO" +
                                " from [COFINS] as C" +
                                " inner join habil_tipo ht on ht.CD_TIPO = C.CD_TIPO ";

                if (strValor != "")
                {
                    strSQL = strSQL + " Where " + MontaFiltro(strNomeCampo, strTipoCampo, strValor);
                }

                if (strOrdem != "")
                {
                    strSQL = strSQL + "Order By " + strOrdem;
                }

                Cmd = new SqlCommand(strSQL, Con);

                Dr = Cmd.ExecuteReader();

                List <COFINS> lista = new List <COFINS>();

                while (Dr.Read())
                {
                    COFINS p = new COFINS();

                    p.CodigoIndice    = Convert.ToInt32(Dr["CD_INDEX"]);
                    p.CodigoCOFINS    = Convert.ToInt32(Dr["CD_COFINS"]);
                    p.DescricaoTipo   = Convert.ToString(Dr["DS_TIPO"]);
                    p.ValorCOFINS     = Convert.ToDouble(Dr["VL_COFINS"]);
                    p.DescricaoCOFINS = Convert.ToString(Dr["DS_COFINS"]);

                    lista.Add(p);
                }
                return(lista);
            }
            catch (Exception ex)
            {
                throw new Exception("Erro ao Listar Todos os COFINS: " + ex.Message.ToString());
            }
            finally
            {
                FecharConexao();
            }
        }
Esempio n. 4
0
        public static void Main(string[] args)
        {
            Console.WriteLine("Olá, bem-vindo!");

            string valorLido;
            double valor;
            bool   temErros;

            do
            {
                temErros = false;
                Console.Write("Digite um valor para calcular os impostos aplicados: ");
                valorLido = Console.ReadLine();
                if (!double.TryParse(valorLido, out valor))
                {
                    Console.WriteLine("Digite um valor numérico válido!");
                    temErros = true;
                }
            } while (temErros);

            Imposto icms   = new ICMS();
            Imposto ipi    = new IPI();
            Imposto cofins = new COFINS();

            double valorIcms   = icms.CalculaImposto(valor);
            double valorIpi    = ipi.CalculaImposto(valor);
            double valorCofins = cofins.CalculaImposto(valor);

            Console.WriteLine("O valor do ICMS é: {0:0.0000}", valorIcms);
            Console.WriteLine("O valor do IPI é: {0:0.0000}", valorIpi);
            if (valorCofins == 0.00)
            {
                Console.WriteLine("O COFINS não se aplica sobre esse valor");
            }
            else
            {
                Console.WriteLine("O valor do COFINS é: {0:0.0000}", valorCofins);
            }

            Console.WriteLine("------------------------------------------");
            double valorTotal = valor + valorIcms + valorIpi + valorCofins;

            Console.WriteLine("O valor total com os impostos é: {0:0.0000}", valorTotal);
        }
Esempio n. 5
0
        public COFINS PesquisarCOFINS(string strCOFINS)
        {
            try
            {
                AbrirConexao();
                strSQL = "Select * from [COFINS] Where CD_COFINS = @v1";
                Cmd    = new SqlCommand(strSQL, Con);
                Cmd.Parameters.AddWithValue("@v1", strCOFINS);

                Dr = Cmd.ExecuteReader();

                COFINS p = null;

                if (Dr.Read())
                {
                    p = new COFINS();

                    p.CodigoIndice = Convert.ToInt32(Dr["CD_INDEX"]);
                    p.CodigoCOFINS = Convert.ToInt32(Dr["CD_COFINS"]);
                    p.CodigoTipo   = Convert.ToInt32(Dr["CD_TIPO"]);
                    p.ValorCOFINS  = Convert.ToDouble(Dr["VL_COFINS"]);

                    //Habil_TipoDAL rx = new Habil_TipoDAL();
                    //Habil_Tipo px = new Habil_Tipo();

                    //p.NomeTipo = rx.DescricaoHabil_Tipo(Convert.ToInt32 (p.CodigoTipo));

                    //p.ValorCOFINS = Convert.ToDouble(Dr["VL_COFINS"]);
                }

                return(p);
            }
            catch (Exception ex)
            {
                throw new Exception("Erro ao Pesquisar COFINS: " + ex.Message.ToString());
            }
            finally
            {
                FecharConexao();
            }
        }
Esempio n. 6
0
        public void Inserir(COFINS p)
        {
            try
            {
                AbrirConexao();

                strSQL = "insert into [COFINS] (CD_COFINS, CD_TIPO, VL_COFINS, DS_COFINS) values (@v1, @v2, @v3, @v4)";
                Cmd    = new SqlCommand(strSQL, Con);
                Cmd.Parameters.AddWithValue("@v1", p.CodigoCOFINS);
                Cmd.Parameters.AddWithValue("@v2", p.CodigoTipo);
                Cmd.Parameters.AddWithValue("@v3", p.ValorCOFINS);
                Cmd.Parameters.AddWithValue("@v4", p.DescricaoCOFINS);
                p.CodigoIndice = Convert.ToInt32(Cmd.ExecuteScalar());
            }
            catch (SqlException ex)
            {
                if (ex.Errors.Count > 0) // Assume the interesting stuff is in the first error
                {
                    switch (ex.Errors[0].Number)
                    {
                    case 2601:     // Primary key violation
                        throw new DuplicateNameException("Inclusão não Permitida!!! Chave já consta no Banco de Dados. Mensagem :" + ex.Message.ToString(), ex);

                    case 2627:     // Primary key violation
                        throw new DuplicateNameException("Inclusão não Permitida!!! Chave já consta no Banco de Dados. Mensagem :" + ex.Message.ToString(), ex);

                    default:
                        throw new Exception("Erro ao Incluir COFINS: " + ex.Message.ToString());
                    }
                }
            }
            catch (Exception ex)
            {
                throw new Exception("Erro ao gravar COFINS: " + ex.Message.ToString());
            }
            finally
            {
                FecharConexao();
            }
        }
Esempio n. 7
0
        public static double total()
        {
            double valor;

            Console.WriteLine("Digite um valor :");
            valor = double.Parse(Console.ReadLine());
            Console.WriteLine("");


            var    icms    = new ICMS();
            double totICms = icms.calculaImposto(valor);

            var    ipi     = new IPI();
            double totlIpi = ipi.calculaImposto(valor);

            var    imposto    = new COFINS();
            double totlCofins = imposto.calculaImposto(valor);

            double ttotalImpostos = totlCofins + totICms + totlIpi + valor;

            Console.WriteLine("Valor Final: " + ttotalImpostos);

            return(valor);
        }
Esempio n. 8
0
        public static ImpostoProdutoDocumento PreencherImpostosProdutoDocumento(ProdutoDocumento p, long intCodigoEmpresa, long longCodigoPessoa, int intCodigoTipoOperacao, int intCodigoAplicacaoUso, decimal decValorFrete, bool CalcularImpostos)
        {
            try
            {
                if (intCodigoTipoOperacao == 0)
                {
                    return(null);
                }

                ImpostoProdutoDocumento imp = new ImpostoProdutoDocumento();

                PIS    pis    = new PIS();
                PISDAL pisDAL = new PISDAL();

                COFINS    cofins    = new COFINS();
                COFINSDAL cofinsDAL = new COFINSDAL();

                RegFisIPI      ipi    = new RegFisIPI();
                RegraFisIPIDAL ipiDAL = new RegraFisIPIDAL();

                RegFisIcms    regICMS    = new RegFisIcms();
                RegFisIcmsDAL regICMSDAL = new RegFisIcmsDAL();

                TipoOperacao    tpOP    = new TipoOperacao();
                TipoOperacaoDAL tpOPDAL = new TipoOperacaoDAL();
                tpOP = tpOPDAL.PesquisarTipoOperacao(intCodigoTipoOperacao);

                Produto    produto    = new Produto();
                ProdutoDAL produtoDAL = new ProdutoDAL();
                produto = produtoDAL.PesquisarProduto(p.CodigoProduto);

                int CodigoPISUtilizado    = 0;
                int CodigoCOFINSUtilizado = 0;

                switch (tpOP.CodigoPrecedenciaImpostoPIS_COFINS)
                {
                case 159:
                    Pessoa    pessoa    = new Pessoa();
                    PessoaDAL pessoaDAL = new PessoaDAL();
                    if (produto.CodigoPIS != 0 || produto.CodigoCOFINS != 0)
                    {
                        pessoa = pessoaDAL.PesquisarPessoa(longCodigoPessoa);
                    }

                    //PIS
                    if (produto.CodigoPIS == 0)    //SE NÃO EXISTIR PIS NO PRODUTO
                    {
                        if (pessoa.CodigoPIS == 0)
                        {
                            CodigoPISUtilizado = tpOP.CodigoPIS;    //SE NÃO EXISTIR PIS NO PESSOA E PRODUTO
                        }
                        else
                        {
                            CodigoPISUtilizado = pessoa.CodigoPIS;
                        }
                    }
                    else
                    {
                        CodigoPISUtilizado = produto.CodigoPIS;
                    }
                    //FIM PIS

                    //COFINS
                    if (produto.CodigoCOFINS == 0)    //SE NÃO EXISTIR COFINS NO PRODUTO
                    {
                        if (pessoa.CodigoCOFINS == 0)
                        {
                            CodigoCOFINSUtilizado = tpOP.CodigoCOFINS;    //SE NÃO EXISTIR COFINS NO PESSOA E PRODUTO
                        }
                        else
                        {
                            CodigoCOFINSUtilizado = pessoa.CodigoCOFINS;
                        }
                    }
                    else
                    {
                        CodigoCOFINSUtilizado = produto.CodigoCOFINS;
                    }
                    //FIM COFINS

                    break;

                case 160:
                    //PIS
                    //FIM PIS

                    //COFINS
                    //FIM COFINS
                    break;
                }

                if (CodigoPISUtilizado != 0)
                {
                    pis = pisDAL.PesquisarPISIndice(CodigoPISUtilizado);
                }

                if (CodigoCOFINSUtilizado != 0)
                {
                    cofins = cofinsDAL.PesquisarCOFINSIndice(CodigoCOFINSUtilizado);
                }

                regICMS = regICMSDAL.ExecutaSP_BUSCA_REGRA_ICMS(intCodigoTipoOperacao, intCodigoEmpresa, longCodigoPessoa, intCodigoAplicacaoUso);

                imp.CodigoDocumento        = p.CodigoDocumento;
                imp.CodigoProdutoDocumento = p.CodigoItem;

                if (regICMS != null)
                {
                    imp.ValorMVA_Saida       = regICMS.MVAOriginal;
                    imp.ValorMVA_Entrada     = regICMS.MVAEntrada;
                    imp.PercentualICMS       = RetornaPercentualICMS(regICMS);
                    imp.ValorBaseCalculoICMS = p.ValorTotalItem;
                }

                //testar se exite IPI
                imp.ValorBaseCalculoIPI = p.ValorTotalItem;
                imp.PercentualIPI       = 5;

                if (pis != null)
                {
                    imp.ValorBaseCalculoPIS = p.ValorTotalItem;
                    imp.PercentualPIS       = Convert.ToDecimal(pis.ValorPIS);
                }

                if (cofins != null)
                {
                    imp.ValorBaseCalculoCOFINS = p.ValorTotalItem;
                    imp.PercentualCOFINS       = Convert.ToDecimal(cofins.ValorCOFINS);
                }


                if (CalcularImpostos)
                {
                    imp.ValorICMS   = Habil_Impostos.CalcularICMS(p.ValorTotalItem, imp.PercentualICMS, regICMS);
                    imp.ValorIPI    = Habil_Impostos.CalcularIPI(p.ValorTotalItem, imp.PercentualIPI);
                    imp.ValorPIS    = Habil_Impostos.CalcularPIS(p.ValorTotalItem, imp.PercentualPIS);
                    imp.ValorCOFINS = Habil_Impostos.CalcularCOFINS(p.ValorTotalItem, imp.PercentualCOFINS);
                }

                return(imp);
            }
            catch (Exception ex)
            {
                throw new Exception("Erro ao calcular impostos: " + ex.Message.ToString());
            }
        }