private List <Tributo> ObterTributos(Domain.XML.FeiraDeSantana.Servico servico, bool faturamento)
        {
            List <Tributo> tributos = new List <Tributo>();

            decimal baseCalculo = servico.Valores.BaseCalculo.ToDecimal();

            if (!string.IsNullOrWhiteSpace(servico.Valores.ValorIss))
            {
                tributos.Add(ObterTributo("ISS", baseCalculo, servico.Valores.ValorIss.ToDecimal()));
            }
            if (!string.IsNullOrWhiteSpace(servico.Valores.ValorIssRetido))
            {
                tributos.Add(ObterTributo("ISS", baseCalculo, servico.Valores.ValorIssRetido.ToDecimal()));
            }
            if (!string.IsNullOrWhiteSpace(servico.Valores.ValorIr))
            {
                tributos.Add(ObterTributo("IRRFPJ", baseCalculo, servico.Valores.ValorIr.ToDecimal()));
            }

            if (faturamento)
            {
                if (!string.IsNullOrWhiteSpace(servico.Valores.ValorPis))
                {
                    tributos.Add(ObterTributo("PIS-RF", baseCalculo, servico.Valores.ValorPis.ToDecimal()));
                }
                if (!string.IsNullOrWhiteSpace(servico.Valores.ValorCofins))
                {
                    tributos.Add(ObterTributo("COFINS-RF", baseCalculo, servico.Valores.ValorCofins.ToDecimal()));
                }
                if (!string.IsNullOrWhiteSpace(servico.Valores.ValorCsll))
                {
                    tributos.Add(ObterTributo("CSLL-RF", baseCalculo, servico.Valores.ValorCsll.ToDecimal()));
                }
            }
            else
            {
                decimal valor = 0;
                if (!string.IsNullOrWhiteSpace(servico.Valores.ValorPis))
                {
                    valor += servico.Valores.ValorPis.ToDecimal();
                }
                if (!string.IsNullOrWhiteSpace(servico.Valores.ValorCofins))
                {
                    valor += servico.Valores.ValorCofins.ToDecimal();
                }
                if (!string.IsNullOrWhiteSpace(servico.Valores.ValorCsll))
                {
                    valor += servico.Valores.ValorCsll.ToDecimal();
                }
                tributos.Add(ObterTributo("PCC", baseCalculo, valor));
            }

            return(tributos);
        }
 private Produto ObterItemMovimento(Domain.XML.FeiraDeSantana.Servico servico, Parametros parametros) =>
 new Produto()
 {
     Coligada       = parametros.CodigoColigada,
     Global         = true,
     Codigo         = servico.ItemListaServico,
     CodigoAuxiliar = servico.CodigoCnae,
     CodigoReduzido = servico.ItemListaServico,
     Nome           = (servico.Discriminacao.Length > 120) ? servico.Discriminacao.Substring(0, 120).RemoveAccents() : servico.Discriminacao.RemoveAccents(),
     Unidade        = "UN",
     Tipo           = ETipoProduto.Serviço
 };
 private ItemMovimento ObterItemMovimento(Domain.XML.FeiraDeSantana.Servico servico, int sequencial, Parametros parametros, bool faturamento) =>
 new ItemMovimento()
 {
     Coligada   = parametros.CodigoColigada,
     Sequencial = sequencial,
     Quantidade = 1,
     Preco      = servico.Valores.ValorServicos.ToDecimal(),
     ValorTotal = servico.Valores.ValorServicos.ToDecimal(),
     //ValorDeducao = servico.Valores.ValorDeducoes.ToDecimal(),
     Produto  = ObterItemMovimento(servico, parametros),
     Tributos = ObterTributos(servico, faturamento).ToList()
 };