private Produto ObterItemMovimento(Domain.XML.LauroDeFreitas.Servico servico, Parametros parametros) => new Produto() { Coligada = parametros.CodigoColigada, Global = true, Codigo = servico.SubItemListaServico, CodigoAuxiliar = servico.SubItemListaServico, CodigoReduzido = servico.SubItemListaServico, Nome = (servico.ItemListaServico.Length > 120) ? servico.ItemListaServico.Substring(0, 120).RemoveAccents() : servico.ItemListaServico.RemoveAccents(), Unidade = "UN", Tipo = ETipoProduto.Serviço };
private List <Tributo> ObterTributos(Domain.XML.LauroDeFreitas.Servico servico, bool faturamento) { List <Tributo> tributos = new List <Tributo>(); decimal baseCalculo = servico.Valores.BaseCalculo.ToDecimal(); if (!string.IsNullOrWhiteSpace(servico.Valores.ValorInss)) { tributos.Add(ObterTributo("INSS", baseCalculo, servico.Valores.ValorInss.ToDecimal())); } if (!string.IsNullOrWhiteSpace(servico.Valores.ValorIss)) { tributos.Add(ObterTributo("ISS", baseCalculo, servico.Valores.ValorIss.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 ItemMovimento ObterItemMovimento(Domain.XML.LauroDeFreitas.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() };