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."); } }