private void ExcluirEventosNaoListados(NlParametrizacao entity) { var eventos = _parametrizacaoEventoDal.Fetch(new NlParametrizacaoEvento() { IdNlParametrizacao = entity.Id }); foreach (var evento in eventos) { if (!entity.Eventos.Any(x => x.Id == evento.Id)) { _parametrizacaoEventoDal.Remove(evento.Id); } } }
private ReclassificacaoRetencao FormacaoRepasse(ConfirmacaoPagamento confirmacaoPagamento, List <ParaRestoAPagar> tiposRap, List <NlParametrizacao> parametrizacoesCadastradas, Usuario usuario, List <Regional> regionais) { //Os itens ja se encontram separados por Tipo de Despesa var infoBaseItem = confirmacaoPagamento.Items.FirstOrDefault(); //Informações do item na parametrização var infoBaseParametrizacao = parametrizacoesCadastradas.Where(x => x.Id == 74).FirstOrDefault(); infoBaseParametrizacao.Eventos = _nlParametrizacaoEventoDal.Fetch(new NlParametrizacaoEvento { IdNlParametrizacao = infoBaseParametrizacao.Id }); ReclassificacaoRetencao entidadeNl = new ReclassificacaoRetencao(); if (regionais.Any(x => x.Descricao.Contains(infoBaseItem.IdRegional.ToString()))) { entidadeNl.RegionalId = regionais.Where(x => x.Descricao.Contains(infoBaseItem.IdRegional.ToString())).FirstOrDefault().Id; } //Atributos em comum entidadeNl.Id = 0; // geral entidadeNl.DataEmissao = entidadeNl.DataCadastro = DateTime.Now; // geral entidadeNl.CodigoUnidadeGestora = infoBaseParametrizacao.UnidadeGestora.HasValue ? infoBaseParametrizacao.UnidadeGestora.Value.ToString() : string.Empty; entidadeNl.NumeroProcesso = infoBaseItem.NumeroProcesso; entidadeNl.NumeroDocumento = infoBaseItem.NrDocumento; entidadeNl.DataCadastro = DateTime.Now.Date; entidadeNl.CodigoAplicacaoObra = infoBaseItem.CodigoObra; entidadeNl.NumeroCNPJCPFFornecedorId = infoBaseItem.NumeroCnpjCpfUgCredor; entidadeNl.NormalEstorno = "1"; entidadeNl.NotaLancamenoMedicao = infoBaseItem.NumeroNlDocumento; entidadeNl.NumeroContrato = infoBaseItem.NumeroContrato; entidadeNl.CadastroCompleto = true; entidadeNl.Origem = OrigemReclassificacaoRetencao.ConfirmacaoDePagamento; // entidadeNl.NumeroCNPJCPFCredor = infoBaseParametrizacao.FavorecidaCnpjCpfUg; comentado - verificar entidadeNl.NumeroCNPJCPFCredor = infoBaseItem.NumeroCnpjCpfUgCredor; entidadeNl.CodigoGestaoCredor = infoBaseItem.CodigoGestaoCredor; entidadeNl.CodigoGestao = "16055"; entidadeNl.DescricaoObservacao1 = SepararObservacao(infoBaseParametrizacao.Observacao, TAMANHOOBS, 1); entidadeNl.DescricaoObservacao2 = SepararObservacao(infoBaseParametrizacao.Observacao, TAMANHOOBS, 2); entidadeNl.DescricaoObservacao3 = SepararObservacao(infoBaseParametrizacao.Observacao, TAMANHOOBS, 3); entidadeNl.Valor = confirmacaoPagamento.Items.Sum(x => x.ValorDocumento * 100) ?? 0; entidadeNl.AgrupamentoConfirmacao = confirmacaoPagamento.CodigoAgrupamentoConfirmacaoPagamento; entidadeNl.id_confirmacao_pagamento = confirmacaoPagamento.Id; AtribuiValorCampoAnoExercicio(infoBaseItem, entidadeNl); var NLPGOBRAS = AtribuiValoresQuandoNLPGOBRAS(usuario, infoBaseItem, infoBaseParametrizacao, entidadeNl); List <ReclassificacaoRetencaoEvento> eventos = new List <ReclassificacaoRetencaoEvento>(); var parametrosGeracaoNl = new ParametrosGeracaoNl(confirmacaoPagamento, infoBaseItem, null, tiposRap); var tipoDocumento = infoBaseItem.NumeroDocumentoGerador.Substring(0, 2); parametrosGeracaoNl.IsNlPgObras = NLPGOBRAS; parametrosGeracaoNl.IsSubempenho = tipoDocumento.Equals(EnumTipoDocumento.Subempenho.GetHashCode().ToString("d2")); parametrosGeracaoNl.IsRap = tipoDocumento.Equals(EnumTipoDocumento.Rap.GetHashCode().ToString("d2")); parametrosGeracaoNl.valorAcumuladoNl = entidadeNl.Valor; entidadeNl.NumeroOriginalSiafemSiafisico = infoBaseItem.NumeroEmpenhoSiafem; entidadeNl.CodigoCredorOrganizacaoId = infoBaseItem.CodigoOrganizacaoCredor ?? 0; //***********novos campos - rafael magna see ************ entidadeNl.DocumentoTipoId = infoBaseItem.IdTipoDocumento; //********** fim **************************************** GerarEventosSaida(parametrosGeracaoNl, eventos, infoBaseParametrizacao); GerarEventoEntrada(parametrosGeracaoNl, entidadeNl, eventos, infoBaseParametrizacao); entidadeNl.NormalEstorno = ((int)EnumNormalEstorno.Normal).ToString(); entidadeNl.itensPertenceNl = confirmacaoPagamento.Items.ToList(); return(entidadeNl); }