private void TransmitirSiafem(RapRequisicao entity, Usuario user, int recursoId)
        {
            try
            {
                string result;
                var    ug = _regional.Buscar(new Regional {
                    Id = (int)user.RegionalId
                }).First().Uge;

                result = _siafem.InserirRapRequisicaoApoioSiafem(user.CPF, Decrypt(user.SenhaSiafem), ug, entity);

                entity.NumeroSiafemSiafisico          = result;
                entity.TransmitidoSiafem              = true;
                entity.StatusSiafemSiafisico          = "S";
                entity.DataTransmitidoSiafemSiafisico = DateTime.Now;
                entity.MensagemSiafemSiafisico        = null;

                SalvarOuAlterar(entity, 0, (short)EnumAcao.Transmitir);
            }
            catch (Exception ex)
            {
                entity.StatusSiafemSiafisico   = "E";
                entity.MensagemSiafemSiafisico = ex.Message;
                throw SaveLog(ex, (short?)EnumAcao.Transmitir, recursoId);
            }
        }
        private void TransmitirProdesp(RapRequisicao entity, int recursoId)
        {
            var cicsmo = new ChaveCicsmo();

            try
            {
                cicsmo = _chave.ObterChave(recursoId);

                var result = _prodesp.InserirRapRequisicao(entity, cicsmo.Chave, cicsmo.Senha);
                _chave.LiberarChave(cicsmo.Codigo);

                entity.NumeroProdesp          = result.Replace(" ", "");
                entity.TransmitidoProdesp     = true;
                entity.StatusProdesp          = "S";
                entity.DataTransmitidoProdesp = DateTime.Now;
                entity.MensagemProdesp        = null;

                SalvarOuAlterar(entity, 0, (short)EnumAcao.Transmitir);
            }
            catch (Exception ex)
            {
                _chave.LiberarChave(cicsmo.Codigo);
                entity.StatusProdesp   = "E";
                entity.MensagemProdesp = ex.Message;
                throw SaveLog(ex, (short?)EnumAcao.Transmitir, recursoId);
            }
        }
Exemplo n.º 3
0
        public JsonResult Transmitir(RapRequisicao entity)
        {
            var objModel = new RapRequisicao();

            try
            {
                var usuario = App.AutenticacaoService.GetUsuarioLogado();

                _modelId = SalvarService(entity, 0);

                App.RapRequisicaoService.Transmitir(_modelId, usuario, (int)_funcId);

                objModel = App.RapRequisicaoService.Selecionar(_modelId);

                return(Json(new { Status = "Sucesso", Codigo = objModel.Id, objModel }));
            }
            catch (Exception ex)
            {
                var status = "Falha";
                objModel = App.RapRequisicaoService.Selecionar(_modelId);

                if (objModel.StatusProdesp == "E" && objModel.TransmitirProdesp)
                {
                    status = "Falha Prodesp";
                }

                if (objModel.StatusProdesp == "S" && !objModel.StatusDocumento &&
                    (objModel.StatusSiafemSiafisico == "S"))
                {
                    status = "Falha Doc";
                }

                return(Json(new { Status = status, Msg = ex.Message, Codigo = objModel.Id, objModel }));
            }
        }
        public int SalvarOuAlterar(RapRequisicao entity, int recursoId, short action)
        {
            try
            {
                entity.Id = _repository.Save(entity);

                if (entity.Notas != null)
                {
                    entity.Notas = SalvarOuAlterarNotas(entity, recursoId, action);
                }

                if (recursoId > 0)
                {
                    LogSucesso(action, recursoId, $@"
                    Nº do subempenho Prodesp {entity.NumeroProdesp}, 
                    Nº do subempenho SIAFEM/SIAFISICO {entity.NumeroSiafemSiafisico}.");
                }

                return(entity.Id);
            }
            catch (Exception ex)
            {
                throw SaveLog(ex, action, recursoId);
            }
        }
        private void Transmissao(Usuario user, RapRequisicao entity, int recursoId)
        {
            var cicsmo = new ChaveCicsmo();

            try
            {
                if (entity.TransmitirSiafem && !entity.TransmitidoSiafem)
                {
                    TransmitirSiafem(entity, user, recursoId);
                }

                if (entity.TransmitirProdesp && !entity.TransmitidoProdesp)
                {
                    TransmitirProdesp(entity, recursoId);
                }

                if (entity.TransmitidoSiafem && entity.TransmitidoProdesp)
                {
                    cicsmo = _chave.ObterChave(recursoId);
                    entity.StatusDocumento = _prodesp.InserirDoc(entity, cicsmo.Chave, cicsmo.Senha, "11");
                    _chave.LiberarChave(cicsmo.Codigo);
                }
            }
            finally
            {
                _chave.LiberarChave(cicsmo.Codigo);
            }
        }
Exemplo n.º 6
0
        private int SalvarService(RapRequisicao entity, int funcionalidade)
        {
            var acao = entity.Id > 0 ? EnumAcao.Alterar : EnumAcao.Inserir;

            return(App.RapRequisicaoService.SalvarOuAlterar(
                       entity,
                       funcionalidade,
                       Convert.ToInt16(acao)));
        }
Exemplo n.º 7
0
 public ActionResult Save(RapRequisicao entity)
 {
     try
     {
         return(Json(new { Status = "Sucesso", Id = SalvarService(entity, Convert.ToInt32(_funcId)) }));
     }
     catch (Exception ex)
     {
         return(Json(new { Status = "Falha", Msg = ex.Message }));
     }
 }
Exemplo n.º 8
0
        public object ConsultarEmpenhoRap(RapRequisicao entity)
        {
            var key = new ChaveCicsmo();

            try
            {
                key = _chave.ObterChave();
                return(_prodespLiquidacaoDespesaService.ConsultarEmpenhoRap(entity, key.Chave, key.Senha));
            }
            finally
            {
                _chave.LiberarChave(key.Codigo);
            }
        }
 public IEnumerable <RapRequisicao> FetchForGrid(RapRequisicao entity, DateTime since, DateTime until)
 {
     return(DataHelper.List <RapRequisicao>("PR_RAP_REQUISICAO_CONSULTAR_GRID",
                                            new SqlParameter("@nr_prodesp", entity.NumeroProdesp),
                                            new SqlParameter("@nr_siafem_siafisico", entity.NumeroSiafemSiafisico),
                                            new SqlParameter("@nr_despesa_processo", entity.NumeroProcesso),
                                            new SqlParameter("@cd_aplicacao_obra", entity.CodigoAplicacaoObra),
                                            new SqlParameter("@nr_prodesp_original", entity.NumeroOriginalProdesp),
                                            new SqlParameter("@cd_transmissao_status_siafem_siafisico", entity.StatusSiafemSiafisico),
                                            new SqlParameter("@cd_transmissao_status_prodesp", entity.StatusProdesp),
                                            new SqlParameter("@nr_contrato", entity.NumeroContrato),
                                            new SqlParameter("@tb_servico_tipo_id_servico_tipo", entity.TipoServicoId),
                                            new SqlParameter("@dt_cadastramento_de", since.ValidateDBNull()),
                                            new SqlParameter("@dt_cadastramento_ate", until.ValidateDBNull())
                                            ));
 }
        private Error Retransmissao(Usuario user, RapRequisicao entity, int recursoId)
        {
            var error  = new Error();
            var cicsmo = new ChaveCicsmo();

            try
            {
                try
                { if (!entity.TransmitidoProdesp)
                  {
                      TransmitirProdesp(entity, recursoId);
                  }
                }
                catch (Exception ex)
                { error.Prodesp = ex.Message; }

                try
                { if (entity.TransmitirSiafem && !entity.TransmitidoSiafem)
                  {
                      TransmitirSiafem(entity, user, recursoId);
                  }
                }
                catch (Exception ex)
                { error.SiafemSiafisico = ex.Message; }

                if (entity.TransmitidoSiafem && entity.TransmitidoProdesp)
                {
                    cicsmo = _chave.ObterChave(recursoId);
                    entity.StatusDocumento = _prodesp.InserirDoc(entity, cicsmo.Chave, cicsmo.Senha, "11");
                    _chave.LiberarChave(cicsmo.Codigo);
                }

                return(error);
            }
            catch (Exception ex)
            {
                throw SaveLog(ex, (short?)EnumAcao.Transmitir, recursoId);
            }
            finally
            {
                _chave.LiberarChave(cicsmo.Codigo);
            }
        }
        public AcaoEfetuada Excluir(RapRequisicao entity, int recursoId, short action)
        {
            try
            {
                //a procedure se encarrega de excluir os itens, eventos e notas fiscais deste subemepnho
                _repository.Remove(entity.Id);

                if (recursoId > 0)
                {
                    return(LogSucesso(action, recursoId, $"RapRequisicao : Codigo {entity.Id}"));
                }

                return(AcaoEfetuada.Sucesso);
            }
            catch (Exception ex)
            {
                throw SaveLog(ex, actionId: action, functionalityId: recursoId);
            }
        }
        private IEnumerable <LiquidacaoDespesaNota> SalvarOuAlterarNotas(RapRequisicao entity, int recursoId, short action)
        {
            var salvos = _notas.Buscar(new LiquidacaoDespesaNota {
                SubempenhoId = entity.Id
            });
            var deleta = salvos?.Where(w => entity.Notas.All(a => a.Id != w.Id)) ?? new List <LiquidacaoDespesaNota>();

            if (deleta.Any())
            {
                _notas.Excluir(deleta, recursoId, action);
            }

            var notas = new List <LiquidacaoDespesaNota>();

            foreach (LiquidacaoDespesaNota nota in entity.Notas)
            {
                nota.SubempenhoId = entity.Id;
                nota.Id           = _notas.SalvarOuAlterar(nota, recursoId, action);
                notas.Add(nota);
            }

            return(notas);
        }
 protected DadoRequisicaoRapViewModel InitializeDadoRequisicaoRapViewModel(RapRequisicao entity)
 {
     return(new DadoRequisicaoRapViewModel().CreateInstance(entity, _estruturaList, _naturezaTipoList, _programaList, _servicoTipoList));
 }
Exemplo n.º 14
0
 public int Save(RapRequisicao entity)
 {
     return(DataHelper.Get <int>("PR_RAP_REQUISICAO_SALVAR",
                                 new SqlParameter("@id_rap_requisicao", entity.Id),
                                 new SqlParameter("@tb_estrutura_id_estrutura", entity.NaturezaId),
                                 new SqlParameter("@tb_natureza_tipo_id_natureza_tipo", entity.NaturezaSubempenhoId),
                                 new SqlParameter("@tb_servico_tipo_id_servico_tipo", entity.TipoServicoId),
                                 new SqlParameter("@tb_regional_id_regional", entity.RegionalId),
                                 new SqlParameter("@tb_programa_id_programa", entity.ProgramaId),
                                 new SqlParameter("@nr_prodesp", entity.NumeroProdesp),
                                 new SqlParameter("@nr_siafem_siafisico", entity.NumeroSiafemSiafisico),
                                 new SqlParameter("@nr_prodesp_original", entity.NumeroOriginalProdesp),
                                 new SqlParameter("@nr_empenho_siafem_siafisico", entity.NumeroOriginalSiafemSiafisico),
                                 new SqlParameter("@nr_subempenho", entity.NumeroSubempenho),
                                 new SqlParameter("@nr_cnpj_cpf_credor", entity.NumeroCNPJCPFCredor),
                                 new SqlParameter("@cd_gestao_credor", entity.CodigoGestaoCredor),
                                 new SqlParameter("@nr_despesa_processo", entity.NumeroProcesso),
                                 new SqlParameter("@nr_recibo", entity.NumeroRecibo),
                                 new SqlParameter("@nr_contrato", entity.NumeroContrato),
                                 new SqlParameter("@cd_unidade_gestora", entity.CodigoUnidadeGestora),
                                 new SqlParameter("@cd_aplicacao_obra", entity.CodigoAplicacaoObra),
                                 new SqlParameter("@nr_medicao", entity.NumeroMedicao),
                                 new SqlParameter("@cd_unidade_gestora_obra", entity.CodigoUnidadeGestoraObra),
                                 new SqlParameter("@cd_gestao", entity.CodigoGestao),
                                 new SqlParameter("@cd_gestao_fornecedora", entity.CodigoGestaoFornecedora),
                                 new SqlParameter("@vl_valor", entity.Valor),
                                 new SqlParameter("@vl_realizado", entity.ValorRealizado),
                                 new SqlParameter("@vl_caucao_caucionado", entity.ValorCaucionado),
                                 new SqlParameter("@cd_nota_fiscal_prodesp", entity.CodigoNotaFiscalProdesp),
                                 new SqlParameter("@cd_tarefa", entity.CodigoTarefa),
                                 new SqlParameter("@tarefa", entity.Tarefa),
                                 new SqlParameter("@nr_classificacao", entity.Classificacao),
                                 new SqlParameter("@nr_ano_medicao", entity.AnoMedicao),
                                 new SqlParameter("@nr_mes_medicao", entity.MesMedicao),
                                 new SqlParameter("@ds_prazo_pagamento", entity.DescricaoPrazoPagamento),
                                 new SqlParameter("@dt_realizado", entity.DataRealizado.ValidateDBNull()),
                                 new SqlParameter("@dt_emissao", entity.DataEmissao.ValidateDBNull()),
                                 new SqlParameter("@ds_despesa_referencia", entity.Referencia),
                                 new SqlParameter("@ds_nl_retencao_inss", entity.NlRetencaoInss),
                                 new SqlParameter("@ds_lista", entity.Lista),
                                 new SqlParameter("@ds_despesa_autorizado_supra_folha", entity.DescricaoAutorizadoSupraFolha),
                                 new SqlParameter("@ds_observacao_1", entity.DescricaoObservacao1),
                                 new SqlParameter("@ds_observacao_2", entity.DescricaoObservacao2),
                                 new SqlParameter("@ds_observacao_3", entity.DescricaoObservacao3),
                                 new SqlParameter("@cd_despesa", entity.CodigoDespesa),
                                 new SqlParameter("@cd_despesa_especificacao_despesa", entity.CodigoEspecificacaoDespesa),
                                 new SqlParameter("@ds_despesa_especificacao_1", entity.DescricaoEspecificacaoDespesa1),
                                 new SqlParameter("@ds_despesa_especificacao_2", entity.DescricaoEspecificacaoDespesa2),
                                 new SqlParameter("@ds_despesa_especificacao_3", entity.DescricaoEspecificacaoDespesa3),
                                 new SqlParameter("@ds_despesa_especificacao_4", entity.DescricaoEspecificacaoDespesa4),
                                 new SqlParameter("@ds_despesa_especificacao_5", entity.DescricaoEspecificacaoDespesa5),
                                 new SqlParameter("@ds_despesa_especificacao_6", entity.DescricaoEspecificacaoDespesa6),
                                 new SqlParameter("@ds_despesa_especificacao_7", entity.DescricaoEspecificacaoDespesa7),
                                 new SqlParameter("@ds_despesa_especificacao_8", entity.DescricaoEspecificacaoDespesa8),
                                 new SqlParameter("@cd_assinatura_autorizado", entity.CodigoAutorizadoAssinatura),
                                 new SqlParameter("@cd_assinatura_autorizado_grupo", entity.CodigoAutorizadoGrupo),
                                 new SqlParameter("@cd_assinatura_autorizado_orgao", entity.CodigoAutorizadoOrgao),
                                 new SqlParameter("@ds_assinatura_autorizado_cargo", entity.DescricaoAutorizadoCargo),
                                 new SqlParameter("@nm_assinatura_autorizado", entity.NomeAutorizadoAssinatura),
                                 new SqlParameter("@cd_assinatura_examinado", entity.CodigoExaminadoAssinatura),
                                 new SqlParameter("@cd_assinatura_examinado_grupo", entity.CodigoExaminadoGrupo),
                                 new SqlParameter("@cd_assinatura_examinado_orgao", entity.CodigoExaminadoOrgao),
                                 new SqlParameter("@ds_assinatura_examinado_cargo", entity.DescricaoExaminadoCargo),
                                 new SqlParameter("@nm_assinatura_examinado", entity.NomeExaminadoAssinatura),
                                 new SqlParameter("@cd_assinatura_responsavel", entity.CodigoResponsavelAssinatura),
                                 new SqlParameter("@cd_assinatura_responsavel_grupo", entity.CodigoResponsavelGrupo),
                                 new SqlParameter("@cd_assinatura_responsavel_orgao", entity.CodigoResponsavelOrgao),
                                 new SqlParameter("@ds_assinatura_responsavel_cargo", entity.DescricaoResponsavelCargo),
                                 new SqlParameter("@nm_assinatura_responsavel", entity.NomeResponsavelAssinatura),
                                 new SqlParameter("@nm_caucao_quota_geral_autorizado_por", entity.QuotaGeralAutorizadaPor),
                                 new SqlParameter("@nr_caucao_guia", entity.NumeroGuia),
                                 new SqlParameter("@nm_dados_caucao", entity.DadosCaucao),
                                 new SqlParameter("@cd_transmissao_status_prodesp", entity.StatusProdesp),
                                 new SqlParameter("@fl_transmissao_transmitido_prodesp", entity.TransmitidoProdesp),
                                 new SqlParameter("@fl_sistema_prodesp", entity.TransmitirProdesp),
                                 new SqlParameter("@dt_transmissao_transmitido_prodesp", entity.DataTransmitidoProdesp.ValidateDBNull()),
                                 new SqlParameter("@ds_transmissao_mensagem_prodesp", entity.MensagemProdesp),
                                 new SqlParameter("@cd_transmissao_status_siafem_siafisico", entity.StatusSiafemSiafisico),
                                 new SqlParameter("@cd_transmissao_status_siafisico", entity.StatusSiafemSiafisico),
                                 new SqlParameter("@fl_transmissao_transmitido_siafem_siafisico", entity.TransmitidoSiafem),
                                 new SqlParameter("@fl_transmissao_transmitido_siafisico", entity.TransmitidoSiafisico),
                                 new SqlParameter("@fl_sistema_siafem_siafisico", entity.TransmitirSiafem),
                                 new SqlParameter("@fl_sistema_siafisico", entity.TransmitirSiafisico),
                                 new SqlParameter("@dt_transmissao_transmitido_siafem_siafisico", entity.DataTransmitidoSiafemSiafisico.ValidateDBNull()),
                                 new SqlParameter("@dt_cadastro", entity.DataCadastro.ValidateDBNull()),
                                 new SqlParameter("@ds_transmissao_mensagem_siafem_siafisico", entity.MensagemSiafemSiafisico),
                                 new SqlParameter("@fl_documento_completo", entity.CadastroCompleto),
                                 new SqlParameter("@fl_documento_status", entity.StatusDocumento),
                                 new SqlParameter("@cd_cenario_prodesp", entity.CenarioProdesp),
                                 new SqlParameter("@cd_credor_organizacao", entity.CodigoCredorOrganizacao),
                                 new SqlParameter("@nr_cnpj_cpf_fornecedor", entity.NumeroCNPJCPFFornecedor),
                                 new SqlParameter("@dt_vencimento", entity.DataVencimento.ValidateDBNull()),
                                 new SqlParameter("@fl_referencia_digitada", entity.ReferenciaDigitada),
                                 new SqlParameter("@nr_empenho", entity.NumeroEmpenho)
                                 ));
 }
Exemplo n.º 15
0
        public DadoApropriacaoEstruturaViewModel CreateInstance(RapRequisicao entity, IEnumerable <Estrutura> estrutura, IEnumerable <Regional> regional, IEnumerable <Programa> programa, IEnumerable <int> anos, IEnumerable <ServicoTipo> servicoTipo, IEnumerable <NaturezaTipo> tipoNatureza)
        {
            var _programa    = programa.Where(x => x.Ano == DateTime.Now.Year).OrderBy(x => x.Cfp).ToList();
            var _servicoTipo = servicoTipo.Where(w => w.TipoRap == entity.TipoRap || string.IsNullOrWhiteSpace(w.TipoRap)).ToList();
            var _natureza    = estrutura.Where(x => _programa.Select(y => y.Codigo).ToList().Contains(x.Programa.Value) && (x.Programa == entity.ProgramaId || entity.ProgramaId == 0)).ToList();
            var _naturezaId  = _natureza.Where(w => w.Codigo == entity.NaturezaId).SingleOrDefault()?.Codigo;

            var ano = entity.NumeroAnoExercicio > 0 ? entity.NumeroAnoExercicio : DateTime.Now.Year;

            var dadoApropriacaoEstruturaViewModel = new DadoApropriacaoEstruturaViewModel()
            {
                AnoExercicio          = Convert.ToString(ano),
                AnoExercicioListItens = anos
                                        .Select(s => new SelectListItem
                {
                    Text     = Convert.ToString(s),
                    Value    = Convert.ToString(s),
                    Selected = s == entity.NumeroAnoExercicio
                }),

                Natureza          = Convert.ToString(_naturezaId),
                NaturezaListItems = _natureza.OrderBy(x => x.Natureza)
                                    .Select(s => new SelectListItem
                {
                    Text     = $"{s.Natureza.Formatar("0.0.00.00")} - {s.Fonte}",
                    Value    = s.Codigo.ToString(),
                    Selected = s.Codigo == _naturezaId
                }),

                Regional          = entity.RegionalId > 0 ? entity.RegionalId.ToString() : default(string),
                RegionalListItems = regional.Where(x => x.Id > 1)
                                    .Select(s => new SelectListItem
                {
                    Text     = s.Descricao,
                    Value    = s.Id.ToString(),
                    Selected = s.Id == entity.RegionalId
                })
                                    .ToList(),

                ProgramaId        = entity.ProgramaId > 0 ? entity.ProgramaId.ToString() : default(string),
                ProgramaListItems = _programa.Select(s => new SelectListItem
                {
                    Text     = $"{s.Cfp.Formatar("00.000.0000.0000")} {s.Descricao}",
                    Value    = s.Codigo.ToString(),
                    Selected = s.Codigo == entity.ProgramaId
                }).ToList(),

                TipoServicoId        = Convert.ToString(entity.TipoServicoId),
                TipoServicoListItems = _servicoTipo.Select(s => new SelectListItem
                {
                    Text     = s.Descricao,
                    Value    = Convert.ToString(s.Id),
                    Selected = s.Id == entity.TipoServicoId
                }).ToList(),

                NaturezaSubempenhoId        = tipoNatureza.FirstOrDefault(w => w.Id == entity.CodigoNaturezaItem)?.Id,
                NaturezaSubempenhoListItems = tipoNatureza.Select(s => new SelectListItem
                {
                    Text     = s.Descricao,
                    Value    = s.Id,
                    Selected = s.Id == NaturezaSubempenhoId
                }).ToList(),


                //CodigoCredorOrganizacao = entity.CodigoCredorOrganizacao < 1 ? default(string) : Convert.ToString(entity.CodigoCredorOrganizacao)
            };

            return(dadoApropriacaoEstruturaViewModel);
        }
Exemplo n.º 16
0
 public RapRequisicao GetLastSignatures(RapRequisicao entity)
 {
     return(DataHelper.Get <RapRequisicao>("PR_RAP_REQUISICAO_CONSULTAR_ASSINATURA",
                                           new SqlParameter("@tb_regional_id_regional", entity.RegionalId)
                                           ));
 }
Exemplo n.º 17
0
 public IEnumerable <RapRequisicao> Fetch(RapRequisicao entity)
 {
     return(DataHelper.List <RapRequisicao>("PR_RAP_REQUISICAO_CONSULTAR",
                                            new SqlParameter("@id_rap_requisicao", entity.Id)
                                            ));
 }
 public string InserirRapRequisicao(RapRequisicao entity, string key, string password)
 {
     return(_prodesp.InserirRapRequisicao(key, password, entity));
 }
Exemplo n.º 19
0
        public DadoRequisicaoRapViewModel CreateInstance(RapRequisicao entity, IEnumerable <Estrutura> estrutura, IEnumerable <NaturezaTipo> tipoNatureza, IEnumerable <Programa> programa, IEnumerable <ServicoTipo> servicoTipo)
        {
            var _programa    = programa.Where(x => x.Ano == DateTime.Now.Year).ToList();
            var _servicoTipo = servicoTipo.Where(w => w.TipoRap == entity.TipoRap || string.IsNullOrWhiteSpace(w.TipoRap)).ToList();
            var _natureza    = estrutura.Where(x => _programa.Select(y => y.Codigo).ToList().Contains(x.Programa.Value) && (x.Programa == entity.ProgramaId || entity.ProgramaId == 0)).ToList();

            var _programasAnoAtual = programa.Where(x => x.Ano == entity.NumeroAnoExercicio);
            var _ptres             = programa.Where(w => w.Codigo == entity.ProgramaId).SingleOrDefault()?.Ptres;

            var cpfAnterior = programa.FirstOrDefault(x => x.Codigo == entity.ProgramaId);
            var cpfAtual    = _programasAnoAtual.FirstOrDefault(x => x.Cfp.Equals(cpfAnterior?.Cfp));

            var naturezaAnterior = estrutura.FirstOrDefault(x => x.Codigo == entity.NaturezaId);

            var _naturezasDoProgramaAnterior = estrutura.Where(x => x.Programa == cpfAnterior?.Codigo || cpfAnterior?.Codigo == 0);
            var _naturezasDoProgramaAtual    = estrutura.Where(x => x.Programa == cpfAtual?.Codigo || cpfAtual?.Codigo == 0);

            var naturezaAtual    = _naturezasDoProgramaAtual.FirstOrDefault(x => x.Natureza.Equals(naturezaAnterior?.Natureza) && x.Fonte == naturezaAnterior?.Fonte);
            var _naturezaAtualId = _naturezasDoProgramaAtual.FirstOrDefault(w => w.Natureza == naturezaAnterior?.Natureza && w.Fonte == naturezaAnterior?.Fonte)?.Codigo;

            var _naturezaId = _natureza.Where(w => w.Codigo == entity.NaturezaId).SingleOrDefault()?.Codigo;

            return(new DadoRequisicaoRapViewModel()
            {
                NaturezaSubempenhoId = tipoNatureza.FirstOrDefault(w => w.Id == entity.NaturezaSubempenhoId)?.Id,
                NaturezaSubempenhoListItems = tipoNatureza.Select(s => new SelectListItem
                {
                    Text = s.Descricao,
                    Value = s.Id,
                    Selected = s.Id == NaturezaSubempenhoId
                }).ToList(),

                MesMedicao = entity.MesMedicao,
                AnoMedicao = entity.AnoMedicao,
                DataEmissao = entity.DataEmissao == default(DateTime) ? default(string) : Convert.ToString(entity.DataEmissao.ToShortDateString()),
                CodigoTarefa = entity.CodigoTarefa,
                Tarefa = entity.Tarefa,
                CodigoDespesa = entity.CodigoDespesa,
                ValorRealizado = Convert.ToString(entity.ValorRealizado),
                CodigoUnidadeGestora = entity.CodigoUnidadeGestora,
                CodigoGestao = entity.CodigoGestao,
                Valor = entity.Valor < 1 ? default(string) : Convert.ToString(entity.Valor),
                CodigoCredorOrganizacao = entity.CodigoCredorOrganizacao < 1 ? default(string) : Convert.ToString(entity.CodigoCredorOrganizacao),
                CodigoNotaFiscalProdesp = entity.CodigoNotaFiscalProdesp,
                NumeroMedicao = entity.NumeroMedicao,
                NumeroOriginalProdesp = entity.NumeroOriginalProdesp,
                NumeroOriginalSiafemSiafisico = entity.NumeroOriginalSiafemSiafisico,
                NumeroContrato = entity.NumeroContrato,
                CodigoAplicacaoObra = entity.CodigoAplicacaoObra,
                DataRealizado = entity.DataRealizado == default(DateTime) ? default(string) : Convert.ToString(entity.DataEmissao.ToShortDateString()),
                ValorSubempenhar = entity.ValorSubempenhar,
                DescricaoPrazoPagamento = entity.DescricaoPrazoPagamento,
                Classificacao = entity.Classificacao,
                NumeroCNPJCPFCredor = entity.NumeroCNPJCPFCredor,
                CodigoGestaoCredor = entity.CodigoGestaoCredor,
                NumeroCNPJCPFFornecedor = entity.NumeroCNPJCPFFornecedor,

                CodigoPtres = _ptres,

                NaturezaId = Convert.ToString(_naturezaAtualId),
                NaturezaListItems = _naturezasDoProgramaAtual.OrderBy(x => x.Natureza)
                                    .Select(s => new SelectListItem
                {
                    Text = $"{s.Natureza.Formatar("0.0.00.00")} - {s.Fonte}",
                    Value = s.Codigo.ToString(),
                    Selected = s.Codigo == _naturezaAtualId
                }),

                ProgramaId = entity.ProgramaId > 0 ? cpfAtual?.Codigo.ToString() : default(string),
                ProgramaListItems = _programasAnoAtual.OrderBy(x => x.Cfp)
                                    .Select(s => new SelectListItem
                {
                    Text = $"{s.Cfp.Formatar("00.000.0000.0000")} {s.Descricao}",
                    Value = s.Codigo.ToString(),
                    Selected = s.Codigo == entity.ProgramaId
                }),

                TipoServicoId = Convert.ToString(entity.TipoServicoId),
                TipoServicoTipoListItems = _servicoTipo.Select(s => new SelectListItem
                {
                    Text = s.Descricao,
                    Value = Convert.ToString(s.Id),
                    Selected = s.Id == entity.TipoServicoId
                }).ToList(),
            });
        }
 public IEnumerable <RapRequisicao> Listar(RapRequisicao entity)
 {
     return(_repository.Fetch(entity));
 }
 public IEnumerable <RapRequisicao> BuscarGrid(RapRequisicao entity, DateTime de = default(DateTime), DateTime ate = default(DateTime))
 {
     return(_repository.FetchForGrid(entity, de, ate));
 }
 protected DadoApropriacaoEstruturaViewModel InitializeDadoApropriacaoEstruturaViewModel(RapRequisicao entity)
 {
     return(new DadoApropriacaoEstruturaViewModel().CreateInstance(entity, _estruturaList, _regionalList, _programaList, GetProgramAvailableYears(), _servicoTipoList, _naturezaTipoList));
 }
 public RapRequisicao Assinaturas(RapRequisicao entity)
 {
     return(_repository.GetLastSignatures(entity));
 }