private TPRODUTO ObterProduto(Item item, Parametros parametros) { var codprd = $"1.{ ("00000" + item.Cod_Produto).Right(5) }"; TPRODUTO produto = _produtoApp.BuscarPorCodigo(codprd); if (produto != null) { return(produto); } if (parametros.ImportarProdutos) { int idprd = _autoIncrementoApp.ReservarValorAutoIncremento(0, TPRODUTO.CODAUTOINC, 1); produto.CODCOLPRD = parametros.CodigoColigada; produto.CODIGOPRD = codprd; produto.CODIGOAUXILIAR = item.Cod_Produto; produto.CODIGOREDUZIDO = item.Cod_Produto; produto.NOMEFANTASIA = item.Campo_Extra.FirstOrDefault(c => c.Nome == "DESCPROD").Valor; produto.IDPRD = idprd; produto.TIPO = "P"; produto.ULTIMONIVEL = 1; TTBORCAMENTO natureza = _naturezaOrcamentariaApp.BuscarPorCodigoGrupo(parametros.CodigoColigada, item.Campo_Extra.FirstOrDefault(c => c.Nome == "GRUPOPROD").Valor); produto.TPRODUTODEF.Add(new TPRODUTODEF() { CODCOLIGADA = parametros.CodigoColigada, IDPRD = idprd, CODUNDCOMPRA = "UN", /*TODO: item.Campo_Extra.FirstOrDefault(c => c.Nome == "CODUND").Valor*/ CODUNDVENDA = "UN", /*TODO: item.Campo_Extra.FirstOrDefault(c => c.Nome == "CODUND").Valor*/ CODUNDCONTROLE = "UN", /*TODO: item.Campo_Extra.FirstOrDefault(c => c.Nome == "CODUND").Valor*/ NUMNOFABRIC = item.Cod_Produto, CODTB1FAT = item.Campo_Extra.FirstOrDefault(c => c.Nome == "GRUPOPROD").Valor, CODCOLTBORCAMENTO = natureza?.CODCOLIGADA, CODTBORCAMENTO = natureza?.CODTBORCAMENTO }); return(_produtoApp.Add(produto)); } else { throw new Exception($"Produto {item.Cod_Produto} - {item.Campo_Extra.FirstOrDefault(c => c.Nome == "DESCPROD").Valor} não encontrado na base do RM."); } }
public TITMMOV ObterItemMovimento(ref TMOV movimento, ItemMovimento item, int sequencial, Parametros parametros, ETipoImportacao tipo) { TITMMOV itemMovimento = new TITMMOV(); TPRODUTO produto = ProdutoApp.ObterProduto(item, parametros, tipo); itemMovimento.CODCOLIGADA = movimento.CODCOLIGADA; itemMovimento.IDMOV = movimento.IDMOV; itemMovimento.CODFILIAL = movimento.CODFILIAL; itemMovimento.CODCCUSTO = movimento.CODCCUSTO; itemMovimento.CODLOC = movimento.CODLOC; itemMovimento.NSEQITMMOV = sequencial; itemMovimento.IDPRD = produto.IDPRD; itemMovimento.PRECOUNITARIO = item.Preco; itemMovimento.QUANTIDADE = 1; itemMovimento.QUANTIDADEORIGINAL = 1; itemMovimento.QUANTIDADETOTAL = 1; itemMovimento.QUANTIDADEARECEBER = 1; itemMovimento.VALORTOTALITEM = item.ValorTotal; itemMovimento.VALORDEDUCAO = item.ValorDeducao; itemMovimento.INTEGRAAPLICACAO = "0"; itemMovimento.CODUND = "UN"; itemMovimento.CODMUNSERVICO = movimento.CODMUNSERVICO; itemMovimento.CODETDMUNSERV = movimento.CODETDMUNSERV; itemMovimento.IDNAT = movimento.IDNAT; foreach (var tributo in item.Tributos) { movimento.TTRBMOV.Add(new TTRBMOV() { CODCOLIGADA = item.Coligada, IDMOV = Convert.ToInt32(movimento.IDMOV), NSEQITMMOV = item.Sequencial, CODTRB = tributo.Codigo, CODTRBBASE = tributo.Codigo, BASEDECALCULO = tributo.BaseCalculo, BASEDECALCULOCALCULADA = tributo.BaseCalculo, BASECHEIA = tributo.BaseCalculo, ALIQUOTA = tributo.Aliquota, VALOR = tributo.Valor, EDITADO = 1 }); } return(itemMovimento); }
private TITMMOV ObterItemMovimento(TMOV movimento, Item item, int sequencial, Parametros parametros) { TITMMOV itemMovimento = new TITMMOV(); TPRODUTO produto = ObterProduto(item, parametros); itemMovimento.CODCOLIGADA = movimento.CODCOLIGADA; itemMovimento.IDMOV = movimento.IDMOV; itemMovimento.CODFILIAL = movimento.CODFILIAL; itemMovimento.CODCCUSTO = movimento.CODCCUSTO; itemMovimento.CODLOC = movimento.CODLOC; itemMovimento.NSEQITMMOV = sequencial; itemMovimento.IDPRD = produto.IDPRD; itemMovimento.PRECOUNITARIO = item.Resposta.Preco_Unitario; itemMovimento.QUANTIDADE = item.Quantidade; itemMovimento.QUANTIDADEORIGINAL = item.Quantidade; itemMovimento.QUANTIDADETOTAL = item.Quantidade; itemMovimento.QUANTIDADEARECEBER = item.Quantidade; itemMovimento.VALORTOTALITEM = item.Resposta.Preco_Total; itemMovimento.INTEGRAAPLICACAO = "0"; itemMovimento.CODUND = produto.TPRODUTODEF.FirstOrDefault(d => d.CODCOLIGADA == parametros.CodigoColigada)?.CODUNDCOMPRA; itemMovimento.CODCOLTBORCAMENTO = produto.TPRODUTODEF.FirstOrDefault(d => d.CODCOLIGADA == parametros.CodigoColigada)?.CODCOLTBORCAMENTO; itemMovimento.CODTBORCAMENTO = produto.TPRODUTODEF.FirstOrDefault(d => d.CODCOLIGADA == parametros.CodigoColigada)?.CODTBORCAMENTO; return(itemMovimento); }