private ReclassificacaoRetencao GerarNlDeRepasseParaRegionais(ParametrosGeracaoNl parametrosGeracao, KeyValuePair <string, List <ConfirmacaoPagamentoItem> > ops) { var rr = new ReclassificacaoRetencao(); var eventos = new List <ReclassificacaoRetencaoEvento>(); var notas = new List <ReclassificacaoRetencaoNota>(); // TODO verificar propriedades DefinirPropriedadesComuns(parametrosGeracao, rr); var parametrizacao = parametrosGeracao.ParametrizacoesNl.FirstOrDefault(x => x.Despesas.Any(y => y.IdTipo == parametrosGeracao.ItemConfirmacao.IdTipoDespesa)); if (parametrizacao != null) { rr.CodigoGestao = parametrizacao.FavorecidaNumeroGestao.ToString(); // geral rr.CodigoInscricao = string.Empty; // rr.CodigoUnidadeGestora = parametrizacao.UnidadeGestora.HasValue ? parametrizacao.UnidadeGestora.Value.ToString() : string.Empty; // TODO valor // TODO UG Favorecido já definido no começo? // TODO Gestão Favorecido já definido no começo? rr.DescricaoObservacao1 = SepararObservacao(parametrizacao.Observacao, TAMANHOOBS, 1); rr.DescricaoObservacao2 = SepararObservacao(parametrizacao.Observacao, TAMANHOOBS, 2); rr.DescricaoObservacao3 = SepararObservacao(parametrizacao.Observacao, TAMANHOOBS, 3); GerarEventoEntrada(rr, eventos, parametrizacao); GerarEventosSaida(parametrosGeracao, rr, eventos, parametrizacao); // TODO Na coluna “Inscrição do Evento” de saída, é formatado com o número da “Unidade Gestora” seguido do número da Gestão, devera ser desconsiderada, UG e Gestão do usuário e obter UG e Gestão parametrizada para a NL. } // TODO gerar notas return(rr); }
public DadoReclassificacaoRetencaoViewModel CreateInstance(ReclassificacaoRetencao entity, IEnumerable <ParaRestoAPagar> restoAPagarList) { return(new DadoReclassificacaoRetencaoViewModel { NumeroOriginalSiafemSiafisico = entity.NumeroOriginalSiafemSiafisico, NumeroProcesso = entity.NumeroProcesso, CodigoAplicacaoObra = entity.CodigoAplicacaoObra, CodigoUnidadeGestora = entity.CodigoUnidadeGestora, CodigoGestao = entity.CodigoGestao, DataEmissao = entity.DataEmissao.ToShortDateString(), NumeroCNPJCPFCredor = entity.NumeroCNPJCPFCredor, CodigoGestaoCredor = entity.CodigoGestaoCredor, MesMedicao = entity.MesMedicao, AnoMedicao = entity.AnoMedicao, Valor = entity.Valor, CodigoEvento = entity.CodigoEvento, CodigoInscricao = entity.CodigoInscricao, CodigoClassificacao = entity.CodigoClassificacao, CodigoFonte = entity.CodigoFonte, RestoPagarId = entity.RestoPagarId, NotaLancamenoMedicao = entity.NotaLancamenoMedicao, NumeroCnpjPrefeitura = entity.NumeroCnpjPrefeitura, ParaRestoAPagarListItems = restoAPagarList.Select(x => new SelectListItem { Value = x.Id.ToString(), Text = x.Id + " - " + x.Descricao, Selected = x.Id == entity.RestoPagarId }) }); }
public DadoPagamentoContaUnicaNotaViewModel CreateInstance(ReclassificacaoRetencao entity) { var dictionary = entity.Notas != null ? entity.Notas.Select(s => new { s.Ordem, s.CodigoNotaFiscal }).ToDictionary(d => d.Ordem, d => d.CodigoNotaFiscal) : new Dictionary <int, string>(); return(new DadoPagamentoContaUnicaNotaViewModel() { Nota01 = Convert.ToString(dictionary.ContainsKey(1) ? dictionary[1] : default(string)), Nota02 = Convert.ToString(dictionary.ContainsKey(2) ? dictionary[2] : default(string)), Nota03 = Convert.ToString(dictionary.ContainsKey(3) ? dictionary[3] : default(string)), Nota04 = Convert.ToString(dictionary.ContainsKey(4) ? dictionary[4] : default(string)), Nota05 = Convert.ToString(dictionary.ContainsKey(5) ? dictionary[5] : default(string)), Nota06 = Convert.ToString(dictionary.ContainsKey(6) ? dictionary[6] : default(string)), Nota07 = Convert.ToString(dictionary.ContainsKey(7) ? dictionary[7] : default(string)), Nota08 = Convert.ToString(dictionary.ContainsKey(8) ? dictionary[8] : default(string)), Nota09 = Convert.ToString(dictionary.ContainsKey(9) ? dictionary[9] : default(string)), Nota10 = Convert.ToString(dictionary.ContainsKey(10) ? dictionary[10] : default(string)), Nota11 = Convert.ToString(dictionary.ContainsKey(11) ? dictionary[11] : default(string)), Nota12 = Convert.ToString(dictionary.ContainsKey(12) ? dictionary[12] : default(string)), Nota13 = Convert.ToString(dictionary.ContainsKey(13) ? dictionary[13] : default(string)), Nota14 = Convert.ToString(dictionary.ContainsKey(14) ? dictionary[14] : default(string)), Nota15 = Convert.ToString(dictionary.ContainsKey(15) ? dictionary[15] : default(string)) }); }
private Error Retransmissao(Usuario user, ReclassificacaoRetencao entity, int recursoId) { var error = new Error(); var cicsmo = new ChaveCicsmo(); try { try { if (entity.TransmitirSiafem && !entity.TransmitidoSiafem) { TransmitirSiafem(entity, user, recursoId); } } catch (Exception ex) { error.SiafemSiafisico = ex.Message; } } catch (Exception ex) { throw SaveLog(ex, (short?)EnumAcao.Transmitir, recursoId); } finally { _chave.LiberarChave(cicsmo.Codigo); } return(error); }
private static void GerarEventosSaida(ParametrosGeracaoNl parametrosGeracao, ReclassificacaoRetencao rr, List <ReclassificacaoRetencaoEvento> eventos, NlParametrizacao parametrizacao) { var eventoSaidaParametrizado = parametrizacao.Eventos.FirstOrDefault(x => x.EntradaSaidaDescricao.Equals(EnumDirecaoEvento.Saida.ToString())); if (eventoSaidaParametrizado != null) { var evento = new ReclassificacaoRetencaoEvento(); evento.InscricaoEvento = String.Format("{0}{1}{2}", parametrosGeracao.ItemConfirmacao.NumeroBancoPagador, parametrosGeracao.ItemConfirmacao.NumeroAgenciaPagador, parametrosGeracao.ItemConfirmacao.NumeroContaPagador); evento.Classificacao = eventoSaidaParametrizado.NumeroClassificacao.ToString(); evento.Fonte = eventoSaidaParametrizado.NumeroFonte.ToString(); if (parametrosGeracao.IsSubempenho) { evento.NumeroEvento = eventoSaidaParametrizado.NumeroEvento.ToString(); } else if (parametrosGeracao.IsRap) { // Para RAP de exercício anterior de despesa prevista (Data da Realização igual a 0) e Ano da NL igual ao ano do exercício, evento = Parametrizado para o tipo de rap “N - Não Proces.Transf.P / Proces.De Exerc.Anterior”; // Para RAP de exercício anterior de despesa prevista (Data da Realização igual a 0) e Ano da NL igual ao ano anterior ao exercício, evento igual a V - Não Proces.Transf.P / proces.De Exerc.Anteriores; // Para RAP com Data da Realização diferente de 0 e Ano da NL igual ao ano anterior ao exercício, evento = Parametrizado para o tipo de rap “P - Processado do Exercício anterior”; // Para RAP de outros exercícios anterior, evento R-Revigorados de Exercícios Anteriores var isAnoAnterior = parametrosGeracao.Ano < parametrosGeracao.AnoAtual; if (isAnoAnterior) { // TODO evento.NumeroEvento = ??? } } eventos.Add(evento); } rr.Eventos = eventos; }
public int SalvarOuAlterar(ReclassificacaoRetencao entity, int recursoId, short action) { try { entity.Id = _repository.Save(entity); if (entity.Eventos.Any()) { entity.Eventos = SalvarOuAlterarEventos(entity, recursoId, action); } if (entity.Notas.Any()) { entity.Notas = SalvarOuAlterarNotas(entity, recursoId, action); } if (recursoId > 0) { LogSucesso(action, recursoId, $@" Nº do Reclassificacao / Retencao SIAFEM {entity.NumeroSiafem}."); } return(entity.Id); } catch (Exception ex) { throw SaveLog(ex, action, recursoId); } }
public ReclassificacaoRetencaoServiceTests() { _user = new Usuario { Codigo = 1, RegionalId = 16 }; _entities = new List <ReclassificacaoRetencao>(); _entity = CreateEntityFactory(); }
private int SalvarService(ReclassificacaoRetencao desdobramento, int funcionalidade) { var acao = desdobramento.Id > 0 ? EnumAcao.Alterar : EnumAcao.Inserir; return(App.ReclassificacaoRetencaoService.SalvarOuAlterar( desdobramento, funcionalidade, Convert.ToInt16(acao))); }
public PesquisaEmpenhoCredorViewModel CreateInstance(ReclassificacaoRetencao entity) { return(new PesquisaEmpenhoCredorViewModel() { CodigoCredorOrganizacao = entity.CodigoCredorOrganizacaoId > 0? entity.CodigoCredorOrganizacaoId.ToString(): null, NumeroCNPJCPFFornecedor = entity.NumeroCNPJCPFFornecedorId, NumeroAnoExercicio = entity.AnoExercicio != 0 ? entity.AnoExercicio.ToString(): null }); }
public DadoObservacaoViewModel CreateInstance(ReclassificacaoRetencao objModel) { return(new DadoObservacaoViewModel() { DescricaoObservacao1 = objModel.DescricaoObservacao1, DescricaoObservacao2 = objModel.DescricaoObservacao2, DescricaoObservacao3 = objModel.DescricaoObservacao3, }); }
public FiltroViewModel CreateInstance(ReclassificacaoRetencao objModel, IEnumerable <ReclassificacaoRetencaoTipo> tipoReclassificacao, DateTime de, DateTime ate) { var filtro = new FiltroViewModel(); filtro.NumeroSiafem = objModel.NumeroSiafem; filtro.NumeroProcesso = objModel.NumeroProcesso; filtro.CodigoAplicacaoObra = objModel.CodigoAplicacaoObra; filtro.NumeroOriginalSiafemSiafisico = objModel.NumeroOriginalSiafemSiafisico; filtro.ReclassificacaoRetencaoTipoListItems = tipoReclassificacao .Select(x => new SelectListItem { Text = x.Descricao, Value = x.Id.ToString(), Selected = x.Id == objModel.ReclassificacaoRetencaoTipoId }); filtro.ReclassificacaoRetencaoTipo = objModel.ReclassificacaoRetencaoTipoId.ToString(); filtro.NormalEstornoListItems = new List <SelectListItem> { new SelectListItem { Text = "Normal", Value = "1", Selected = objModel.NormalEstorno == "1" }, new SelectListItem { Text = "Estorno", Value = "2", Selected = objModel.NormalEstorno == "2" } }; filtro.NormalEstorno = objModel.NormalEstorno; filtro.StatusSiafem = objModel.StatusSiafem; filtro.StatusSiafemListItems = new List <SelectListItem> { new SelectListItem { Text = "Sucesso", Value = "S" }, new SelectListItem { Text = "Erro", Value = "E" }, new SelectListItem { Text = "Não transmitido", Value = "N" } }; filtro.NumeroContrato = objModel.NumeroContrato; filtro.DataCadastramentoDe = null; filtro.DataCadastramentoAte = null; filtro.OrigemReclassificacaoRetencao = objModel.Origem; filtro.AgrupamentoConfirmacao = objModel.AgrupamentoConfirmacao; return(filtro); }
public ActionResult Save(ReclassificacaoRetencao desdobramento) { try { return(Json(new { Status = "Sucesso", Id = SalvarService(desdobramento, Convert.ToInt32(_funcId)) })); } catch (Exception ex) { return(Json(new { Status = "Falha", Msg = ex.Message })); } }
public IEnumerable <ReclassificacaoRetencao> BuscarGrid(ReclassificacaoRetencao entity, DateTime de = default(DateTime), DateTime ate = default(DateTime)) { var result = _repository.FetchForGrid(entity, de, ate).ToList(); if (result.Any()) { result.ForEach(x => x.Eventos = _eventos.Buscar(new ReclassificacaoRetencaoEvento { PagamentoContaUnicaId = x.Id })); } return(result); }
public FiltroGridViewModel CreateInstance(ReclassificacaoRetencao entity, IEnumerable <ReclassificacaoRetencaoTipo> reclassificacaoRetencaoTps, IEnumerable <ReclassificacaoRetencaoEvento> recRetEventos) { return(new FiltroGridViewModel { Id = Convert.ToString(entity.Id), NumeroSiafem = entity.NumeroSiafem, ReclassificacaoRetencaoTipo = reclassificacaoRetencaoTps.FirstOrDefault(w => w.Id == entity.ReclassificacaoRetencaoTipoId)?.Descricao, NormalEstorno = entity.NormalEstorno.Equals("1") ? "Normal" : "Estorno", Total = entity.ReclassificacaoRetencaoTipoId == 2? Convert.ToDecimal(entity.Eventos.Sum(x => x.ValorUnitario)) / 100 : Convert.ToDecimal(entity.Valor) / 100, Data = entity.DataCadastro.ToShortDateString(), StatusSiafem = string.IsNullOrEmpty(entity.StatusSiafem) || entity.StatusSiafem.Equals("N") ? "Não Transmitido" : entity.StatusSiafem.Equals("E") ? "Erro" : "Sucesso", TransmitidoSiafem = entity.TransmitidoSiafem, MensagemSiafem = entity.MensagemServicoSiafem, CadastroCompleto = entity.CadastroCompleto }); }
public string Transmitir(IEnumerable <int> entityIdList, Usuario user, int recursoId) { var empenhos = new List <ReclassificacaoRetencao>(); var result = default(string); foreach (var empenhoId in entityIdList) { var entity = new ReclassificacaoRetencao(); try { entity = Selecionar(empenhoId); if (AppConfig.WsUrl != "siafemProd") { user.CPF = entity.TransmitirSiafem ? AppConfig.WsSiafemUser : AppConfig.WsSiafisicoUser; user.SenhaSiafem = Encrypt(AppConfig.WsPassword); } Retransmissao(user, entity, recursoId); empenhos.Add(entity); } catch (Exception ex) { throw SaveLog(ex, (short?)EnumAcao.Transmitir, recursoId); } finally { SalvarOuAlterar(entity, recursoId, (short)EnumAcao.Transmitir); } } var empenhosErros = empenhos.Where(x => x.StatusSiafem == "E").ToList(); if (empenhosErros.Count > 0) { if (empenhos.Count == 1) { result += empenhos.FirstOrDefault()?.MensagemServicoSiafem; } else { result += Environment.NewLine + "; / Alguns ReclassificacaoRetencaos não puderam ser retransmitidos"; } } return(result); }
private static void GerarEventoEntrada(ReclassificacaoRetencao rr, List <ReclassificacaoRetencaoEvento> eventos, NlParametrizacao parametrizacao) { var eventoEntradaParametrizado = parametrizacao.Eventos.FirstOrDefault(x => x.EntradaSaidaDescricao.Equals(EnumDirecaoEvento.Entrada.ToString())); if (eventoEntradaParametrizado != null) { rr.CodigoEvento = eventoEntradaParametrizado.NumeroEvento.ToString(); rr.CodigoClassificacao = eventoEntradaParametrizado.NumeroClassificacao.ToString(); var evento = new ReclassificacaoRetencaoEvento(); evento.NumeroEvento = eventoEntradaParametrizado.NumeroEvento.ToString(); evento.Classificacao = eventoEntradaParametrizado.NumeroClassificacao.ToString(); evento.Fonte = eventoEntradaParametrizado.NumeroFonte.ToString(); eventos.Add(evento); } }
public IEnumerable <ReclassificacaoRetencao> FetchForGrid(ReclassificacaoRetencao entity, DateTime since, DateTime until) { return(DataHelper.List <ReclassificacaoRetencao>("PR_RECLASSIFICACAO_RETENCAO_CONSULTA_GRID", new SqlParameter("@id_reclassificacao_retencao", entity.Id), new SqlParameter("@nr_siafem_siafisico", entity.NumeroSiafem), new SqlParameter("@nr_processo", entity.NumeroProcesso), new SqlParameter("@cd_aplicacao_obra", entity.CodigoAplicacaoObra), new SqlParameter("@nr_empenho_siafem_siafisico", entity.NumeroOriginalSiafemSiafisico), new SqlParameter("@id_tipo_reclassificacao_retencao", entity.ReclassificacaoRetencaoTipoId), new SqlParameter("@ds_normal_estorno", entity.NormalEstorno), new SqlParameter("@cd_transmissao_status_siafem_siafisico", entity.StatusSiafem), new SqlParameter("@nr_contrato", entity.NumeroContrato), new SqlParameter("@dt_cadastramento_de", since.ValidateDBNull()), new SqlParameter("@dt_cadastramento_ate", until.ValidateDBNull()), new SqlParameter("@id_regional", entity.RegionalId), new SqlParameter("@cd_origem", entity.Origem), new SqlParameter("@cd_agrupamento_confirmacao", entity.AgrupamentoConfirmacao))); }
public AcaoEfetuada Excluir(ReclassificacaoRetencao entity, int recursoId, short action) { try { _repository.Remove(entity.Id); if (recursoId > 0) { return(LogSucesso(action, recursoId, $"ReclassificacaoRetencao : Codigo {entity.Id}")); } return(AcaoEfetuada.Sucesso); } catch (Exception ex) { throw SaveLog(ex, actionId: action, functionalityId: recursoId); } }
private IEnumerable <ReclassificacaoRetencaoNota> SalvarOuAlterarNotas(ReclassificacaoRetencao entity, int recursoId, short action) { var salvos = _notas.Buscar(new ReclassificacaoRetencaoNota { IdReclassificacaoRetencao = entity.Id }); var deleta = salvos?.Where(w => entity.Notas.All(a => a.Id != w.Id)); _notas.Excluir(deleta, recursoId, action); var notas = new List <ReclassificacaoRetencaoNota>(); foreach (ReclassificacaoRetencaoNota nota in entity.Notas) { nota.IdReclassificacaoRetencao = entity.Id; nota.Id = _notas.SalvarOuAlterar(nota, recursoId, action); notas.Add(nota); } return(notas); }
private void Transmissao(Usuario user, ReclassificacaoRetencao entity, int recursoId) { var cicsmo = new ChaveCicsmo(); try { if (entity.TransmitirSiafem && !entity.TransmitidoSiafem) { TransmitirSiafem(entity, user, recursoId); } } catch (Exception ex) { throw ex; } finally { _chave.LiberarChave(cicsmo.Codigo); } }
public FiltroGridViewModel CreateInstance(ReclassificacaoRetencao entity, IEnumerable <ReclassificacaoRetencaoTipo> reclassificacaoRetencaoTps, IEnumerable <ReclassificacaoRetencaoEvento> recRetEventos) { var obj = new FiltroGridViewModel(); obj.Id = Convert.ToString(entity.Id); obj.NumeroSiafem = entity.NumeroSiafem; obj.ReclassificacaoRetencaoTipo = reclassificacaoRetencaoTps.FirstOrDefault(w => w.Id == entity.ReclassificacaoRetencaoTipoId)?.Descricao; obj.NormalEstorno = string.IsNullOrWhiteSpace(entity.NormalEstorno) ? string.Empty : (entity.NormalEstorno.Equals("1") ? "Normal" : "Estorno"); obj.Total = entity.ReclassificacaoRetencaoTipoId == 2 ? Convert.ToDecimal(entity.Eventos.Sum(x => x.ValorUnitario)) / 100 : Convert.ToDecimal(entity.Valor) / 100; obj.Data = entity.DataCadastro.ToShortDateString(); obj.StatusSiafem = string.IsNullOrEmpty(entity.StatusSiafem) || entity.StatusSiafem.Equals("N") ? "Não Transmitido" : entity.StatusSiafem.Equals("E") ? "Erro" : "Sucesso"; obj.TransmitidoSiafem = entity.TransmitidoSiafem; obj.TransmitirSiafem = entity.TransmitirSiafem; obj.MensagemSiafem = entity.MensagemServicoSiafem; obj.CadastroCompleto = entity.CadastroCompleto; obj.OrigemReclassificacaoRetencao = entity.Origem.GetEnumDescription(); obj.AgrupamentoConfirmacao = entity.AgrupamentoConfirmacao?.ToString(); return(obj); }
public JsonResult Transmitir(ReclassificacaoRetencao desdobramento) { ReclassificacaoRetencao objModel; try { var usuario = App.AutenticacaoService.GetUsuarioLogado(); desdobramento.RegionalId = usuario.RegionalId == 1 ? 16 : (short)usuario.RegionalId; ModelId = SalvarService(desdobramento, 0); App.ReclassificacaoRetencaoService.Transmitir(ModelId, usuario, (int)_funcId); objModel = App.ReclassificacaoRetencaoService.Selecionar(ModelId); return(Json(new { Status = "Sucesso", Codigo = objModel.Id, objModel })); } catch (Exception ex) { objModel = App.ReclassificacaoRetencaoService.Selecionar(ModelId); return(Json(new { Status = "Falha", Msg = ex.Message, Codigo = objModel.Id, objModel })); } }
private ReclassificacaoRetencao GerarNlRepasseFinanceiro(ParametrosGeracaoNl parametrosGeracao) { var rr = new ReclassificacaoRetencao(); var eventos = new List <ReclassificacaoRetencaoEvento>(); var notas = new List <ReclassificacaoRetencaoNota>(); // TODO verificar propriedades DefinirPropriedadesComuns(parametrosGeracao, rr); //obj.CodigoEvento = //adicionar? //obj.CodigoInscricao = //adicionar? //obj.CodigoClassificacao = //obj.CodigoFonte = //obj.Valor = itemConfirmacao.ValorDocumento; //obj.DescricaoObservacao1 = //obj.Notas = // var parametrizacao = parametrosGeracao.ParametrizacoesNl.FirstOrDefault(x => x.Despesas.Any(y => y.IdTipo == parametrosGeracao.ItemConfirmacao.IdTipoDespesa)); if (parametrizacao != null) { rr.CodigoGestao = parametrizacao.FavorecidaNumeroGestao == 0 ? "16055" : parametrizacao.FavorecidaNumeroGestao.ToString(); // geral rr.CodigoInscricao = String.Format("PE0{0}", parametrosGeracao.Ug); rr.CodigoUnidadeGestora = parametrizacao.UnidadeGestora.HasValue ? parametrizacao.UnidadeGestora.Value.ToString() : string.Empty; // TODO valor // TODO UG Favorecido já definido no começo? // TODO Gestão Favorecido já definido no começo? rr.DescricaoObservacao1 = SepararObservacao(parametrizacao.Observacao, TAMANHOOBS, 1); rr.DescricaoObservacao2 = SepararObservacao(parametrizacao.Observacao, TAMANHOOBS, 2); rr.DescricaoObservacao3 = SepararObservacao(parametrizacao.Observacao, TAMANHOOBS, 3); GerarEventoEntrada(rr, eventos, parametrizacao); GerarEventosSaida(parametrosGeracao, rr, eventos, parametrizacao); } // TODO gerar notas return(rr); }
private void TransmitirSiafem(ReclassificacaoRetencao entity, Usuario user, int recursoId) { try { var ug = _regional.Buscar(new Regional { Id = (int)user.RegionalId }).First().Uge; entity.NumeroSiafem = _siafem.InserirReclassificacaoRetencao(user.CPF, Decrypt(user.SenhaSiafem), ug, entity); entity.TransmitidoSiafem = true; entity.StatusSiafem = "S"; entity.DataTransmitidoSiafem = DateTime.Now; entity.MensagemServicoSiafem = null; SalvarOuAlterar(entity, 0, (short)EnumAcao.Transmitir); } catch (Exception ex) { entity.StatusSiafem = "E"; entity.MensagemServicoSiafem = ex.Message; throw SaveLog(ex, (short?)EnumAcao.Transmitir, recursoId); } }
public DadoReclassificacaoRetencaoTipoViewModel CreateInstance(ReclassificacaoRetencao entity, IEnumerable <ReclassificacaoRetencaoTipo> reclassificacaoRetencaoTipos) { return(new DadoReclassificacaoRetencaoTipoViewModel { NormalEstornoListItems = new List <SelectListItem> { new SelectListItem { Text = "Normal", Value = "1", Selected = entity.NormalEstorno == "1" }, new SelectListItem { Text = "Estorno", Value = "2", Selected = entity.NormalEstorno == "2" } }, NormalEstorno = entity.NormalEstorno, ReclassificacaoRetencaoTipoListItems = reclassificacaoRetencaoTipos.Select(x => new SelectListItem { Text = x.Descricao, Value = x.Id.ToString(), Selected = x.Id == entity.ReclassificacaoRetencaoTipoId }), ReclassificacaoRetencaoTipoId = entity.ReclassificacaoRetencaoTipoId.ToString(), }); }
private IEnumerable <ReclassificacaoRetencaoEvento> SalvarOuAlterarEventos(ReclassificacaoRetencao entity, int recursoId, short action) { var salvos = _eventos.Buscar(new ReclassificacaoRetencaoEvento { PagamentoContaUnicaId = entity.Id }); var deleta = salvos?.Where(w => entity.Eventos.All(a => a.Id != w.Id)); if (deleta.Any()) { _eventos.Excluir(deleta, recursoId, action); } var eventos = new List <ReclassificacaoRetencaoEvento>(); foreach (ReclassificacaoRetencaoEvento evento in entity.Eventos) { evento.PagamentoContaUnicaId = entity.Id; evento.Id = _eventos.SalvarOuAlterar(evento, recursoId, action); eventos.Add(evento); } return(eventos); }
public AcaoEfetuada GerarNotasLancamento(ConfirmacaoPagamento confirmacaoPagamento, Usuario user, bool transmitir, int recursoId, EnumAcao action) { List <ReclassificacaoRetencao> nlsGeradas = new List <ReclassificacaoRetencao>(); var regional = _regional.Buscar(new Regional { Id = Convert.ToInt32(user.RegionalId) }).FirstOrDefault(); var ug = regional?.Uge; foreach (ConfirmacaoPagamentoItem itemConfirmacao in confirmacaoPagamento.Items) { var gerarNls = confirmacaoPagamento.IdTipoDocumento != 40 && itemConfirmacao.IdTipoDespesa.Value == 78; if (gerarNls) { // usar caso existam RAPs List <ParaRestoAPagar> tiposRap = _paraRestoAPagarService.Listar(new ParaRestoAPagar()).ToList(); List <NlParametrizacao> parametrizacoes = _parametrizacaoService.ObterTodas(); var tipoDocumento = confirmacaoPagamento.NumeroDocumento.Substring(0, 2); var isSubempenho = tipoDocumento.Equals(EnumTipoDocumento.Subempenho.ToString("d2")); var isRap = tipoDocumento.Equals(EnumTipoDocumento.Rap.ToString("d2")); var isNlPgObras = VerrificarNlPgObras(itemConfirmacao.NaturezaDespesa); int anoAtual = int.Parse(DateTime.Today.ToString("YY")); int ano = anoAtual; if (isSubempenho) { ano = int.Parse(confirmacaoPagamento.NumeroDocumento.Substring(5, 2)); } else if (isRap) { ano = int.Parse(confirmacaoPagamento.NumeroDocumento.Substring(2, 2)); } var parametrosGeracaoNl = new ParametrosGeracaoNl(confirmacaoPagamento, itemConfirmacao, parametrizacoes, tiposRap); parametrosGeracaoNl.Ug = ug; parametrosGeracaoNl.IsNlPgObras = isNlPgObras; parametrosGeracaoNl.IsSubempenho = isSubempenho; parametrosGeracaoNl.IsRap = isRap; parametrosGeracaoNl.AnoAtual = anoAtual; parametrosGeracaoNl.Ano = ano; // TODO codificar NLs de repasse #region NLs de repasse // NL de repasse financeiro ReclassificacaoRetencao nlRepasseFinanceiro = GerarNlRepasseFinanceiro(parametrosGeracaoNl); nlRepasseFinanceiro.CodigoInscricao = string.Format(FORMATOPE, ug); nlsGeradas.Add(nlRepasseFinanceiro); // NL de repasse de IR if (true) // TODO Cadastrar NL de “Repasse de Imposto de Renda” se para a fonte o valor estiver diferente de 0. { ReclassificacaoRetencao nlRepasseDeIr = GerarNlRepasseDeIr(parametrosGeracaoNl); nlsGeradas.Add(nlRepasseDeIr); } // NL de repasse para regionais // TODO Cadastrar uma NL para cada OP (Ordem de Pagamento). var ops = confirmacaoPagamento.Items.GroupBy(x => x.NumeroOp).Select(x => new KeyValuePair <string, List <ConfirmacaoPagamentoItem> >(x.Key, x.ToList())); foreach (var op in ops) { ReclassificacaoRetencao nlDeRepasseParaRegionais = GerarNlDeRepasseParaRegionais(parametrosGeracaoNl, op); nlsGeradas.Add(nlDeRepasseParaRegionais); } #endregion // TODO codificar NLs de baixa #region NLs de baixa // NL de baixa jeton jari (por NE) // NL de baixa de fornecedor com contrato (por credor + NE) // NL para baixa de pagamento de licença prêmio (por OP) // NL de baixa pagamento outros (por credor + NE) // NL para baixa de devolução de caução (por OP) // NL para baixa de pagamento de adiantamento (por credor + NE) // NL para baixa de pagamento de restituição de multa (por NE) // NL para baixa de pagamento de perito do quadro e judicial (por credor + NE) // NL para baixa de pagamento de bonificação por resultados (por credor + NE) #endregion var idNlRepasseFinanceiro = _service.SalvarOuAlterar(nlRepasseFinanceiro, recursoId, (short)action); // TODO verificar if (transmitir) { _service.Transmitir(idNlRepasseFinanceiro, user, recursoId); // TODO transmitir separadas? } } } return(AcaoEfetuada.Sucesso); }
public IEnumerable <ReclassificacaoRetencao> Listar(ReclassificacaoRetencao entity) { return(_repository.Fetch(entity)); }
public IEnumerable <ReclassificacaoRetencao> Fetch(ReclassificacaoRetencao entity) { return(DataHelper.List <ReclassificacaoRetencao>("PR_RECLASSIFICACAO_RETENCAO_CONSULTAR", new SqlParameter("@id_reclassificacao_retencao", entity.Id), new SqlParameter("@id_regional", entity.RegionalId))); }
public int Save(ReclassificacaoRetencao entity) { var sqlParameterList = DataHelper.GetSqlParameterList(entity); return(DataHelper.Get <int>("PR_RECLASSIFICACAO_RETENCAO_SALVAR", sqlParameterList)); }