public TPRODUTO ObterProduto(ItemMovimento item, Parametros parametros, ETipoImportacao tipo) { DeParaProduto deParaProduto = DeParaProdutoApp.ObterPorCodigoNF(item.Produto.Codigo, tipo); try { if (deParaProduto != null && !string.IsNullOrWhiteSpace(deParaProduto.CodigoRM)) { return(Service.BuscarPorCodigo(deParaProduto.CodigoRM) ?? throw new Exception()); } else if (parametros.ImportarProdutos) { int idprd = AutoIncrementoApp.ReservarValorAutoIncremento(0, Constrantes.AUTOINC_TPRODUTO, 1); TPRODUTO produto = new TPRODUTO() { CODCOLPRD = parametros.CodigoColigada, CODIGOPRD = item.Produto.Codigo, CODIGOAUXILIAR = item.Produto.CodigoAuxiliar, CODIGOREDUZIDO = item.Produto.CodigoReduzido, NOMEFANTASIA = item.Produto.Nome, IDPRD = idprd, TIPO = "S", ULTIMONIVEL = 1 }; produto.TPRODUTODEF.Add(new TPRODUTODEF() { CODCOLIGADA = parametros.CodigoColigada, IDPRD = idprd, CODUNDCOMPRA = item.Produto.Unidade, CODUNDCONTROLE = item.Produto.Unidade, CODUNDVENDA = item.Produto.Unidade }); return(Service.Add(produto)); } else { throw new Exception(); } } catch (Exception) { throw new Exception($"Não foi encontrado o código do RM para o serviço {item.Produto.Codigo}, aliquota {item.AliquitaIR}, descrição {item.Produto.Nome}. Favor verificar se o de-para está preenchido."); } }
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); }
public DeParaProduto ObterPorCodigoNF(string codigoNF, ETipoImportacao tipo) { return(Repository.First(d => d.CodigoNF == codigoNF && d.TipoImportacao == tipo)); }
public DeParaProduto ObterPorCodigoNF(string codigoNF, ETipoImportacao tipo) { return(Service.ObterPorCodigoNF(codigoNF, tipo)); }