Esempio n. 1
0
        public void RelacionarExecucaoComPagamentoDesdobrado(PDExecucao entity, IEnumerable <PDExecucaoItem> entityItem, List <string> checados, bool primeiraVez)
        {
            try
            {
                int    contador    = 0;
                string itemChecado = string.Empty;

                foreach (var item in entityItem)
                {
                    if (contador < checados.Count)
                    {
                        if (item.NumPD == checados[contador])
                        {
                            itemChecado = checados[contador];
                            contador++;
                        }
                    }

                    if (itemChecado != string.Empty)
                    {
                        _confirmacaoPgtoItemRepository.RelacionarExecucaoComPagamentoDesdobrado(item);
                        itemChecado = string.Empty;
                    }
                }

                RemoverItensNaoPertencentes(entity, primeiraVez);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Esempio n. 2
0
        public int Save(PDExecucao entity)
        {
            var paramIdExecucaoPD      = new SqlParameter("@id_execucao_pd", entity.IdExecucaoPD);
            var paramTipoExecucao      = new SqlParameter("@id_tipo_execucao_pd", entity.TipoExecucao);
            var paramUgPagadora        = new SqlParameter("@ug_pagadora", entity.UgPagadora);
            var paramGestaoPagadora    = new SqlParameter("@gestao_pagadora", entity.GestaoPagadora);
            var paramUgLiquidante      = new SqlParameter("@ug_liquidante", entity.UgLiquidante);
            var paramGestaoLiquidante  = new SqlParameter("@gestao_liquidante", entity.GestaoLiquidante);
            var paramUnidadeGestora    = new SqlParameter("@unidade_gestora", entity.UnidadeGestora);
            var paramGestao            = new SqlParameter("@gestao", entity.Gestao);
            var paramValor             = new SqlParameter("@valor_total", entity.Valor);
            var paramAgrupamento       = new SqlParameter("@nr_agrupamento", entity.Agrupamento);
            var paramTransmitirProdesp = new SqlParameter("@fl_sistema_prodesp", entity.TransmitirProdesp);
            var paramTransmitirSiafem  = new SqlParameter("@fl_sistema_siafem_siafisico", entity.TransmitirSiafem);

            #region Confirmacao
            var paramTipoPagamento          = new SqlParameter("@id_tipo_pagamento", entity.TipoPagamento);
            var paramEhConfirmacaoPagamento = new SqlParameter("@fl_confirmacao", entity.EhConfirmacaoPagamento);
            var paramDataConfirmacao        = new SqlParameter("@dt_confirmacao", entity.DataConfirmacao.ValidateDBNull());
            #endregion

            return(DataHelper.Get <int>("PR_PROGRAMACAO_DESEMBOLSO_EXECUCAO_SALVAR",
                                        paramIdExecucaoPD, paramTipoExecucao, paramUgPagadora, paramGestaoPagadora, paramUgLiquidante, paramGestaoLiquidante,
                                        paramUnidadeGestora, paramGestao, paramValor, paramAgrupamento, paramTransmitirProdesp, paramTransmitirSiafem,
                                        paramTipoPagamento, paramEhConfirmacaoPagamento, paramDataConfirmacao));
        }
        public int Salvar(ref PDExecucao entity, List <string> checados, int recursoId, short action)
        {
            try
            {
                entity.Id = entity.IdConfirmacaoPagamento;
                var id = _repository.Save(entity);
                entity.IdExecucaoPD = id;

                int numeroAgrupamentoPD = action == (int)EnumAcao.Inserir ? _repository.GetNumeroAgrupamento() : 0;

                foreach (var item in entity.Items)
                {
                    if (action == 1)
                    {
                        item.AgrupamentoItemPD = numeroAgrupamentoPD;
                    }

                    item.id_execucao_pd    = id;
                    item.AgrupamentoItemPD = item.Codigo.HasValue && item.Codigo != 0 ? 0 : item.AgrupamentoItemPD;
                    var iditem = SalvarItem(item);
                    item.Codigo = iditem;
                }

                return(id);
            }
            catch (Exception ex)
            {
                throw SaveLog(ex, action, recursoId);
            }
        }
Esempio n. 4
0
 public ProgramacaoDesembolsoExecucaoServiceTests()
 {
     _user = new Usuario {
         Codigo = 1, RegionalId = 16
     };
     _entities = new List <PDExecucao>();
     _entity   = CreateEntityFactory();
 }
Esempio n. 5
0
 public void RelacionarExecucaoComPagamentoDesdobrado(PDExecucao entity, IEnumerable <PDExecucaoItem> entityItem, List <string> checados, bool primeiraVez)
 {
     try
     {
         App.ConfirmacaoPagamentoService.RelacionarExecucaoComPagamentoDesdobrado(entity, entity.Items, checados, primeiraVez);
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
Esempio n. 6
0
        public void RemoverItensNaoPertencentes(PDExecucao entity, bool primeiraVez)
        {
            foreach (var item in entity.Items)
            {
                var agrupado = item.AgrupamentoItemPD == 0;

                if (!agrupado && primeiraVez)
                {
                    _repositoryExecucaoPdItem.Remove(item.Codigo.GetValueOrDefault());
                }
            }
        }
Esempio n. 7
0
 public int Add(PDExecucao entity)
 {
     return(DataHelper.Get <int>("PR_CONFIRMACAO_PAGAMENTO_INCLUIR",
                                 new SqlParameter("@id_tipo_documento", entity.DocumentoTipoId),
                                 new SqlParameter("@ano_referencia", entity.Ano),
                                 new SqlParameter("@nr_documento", entity.NumeroDocumento),
                                 new SqlParameter("@id_tipo_pagamento", entity.TipoPagamento),
                                 new SqlParameter("@dt_confirmacao", entity.DataConfirmacao.ValidateDBNull()),
                                 new SqlParameter("@dt_cadastro", entity.DataCadastro.ValidateDBNull()),
                                 new SqlParameter("@cd_transmissao_status_prodesp", entity.StatusProdesp),
                                 new SqlParameter("@fl_transmissao_transmitido_prodesp", entity.TransmitidoProdesp),
                                 new SqlParameter("@dt_transmissao_transmitido_prodesp", entity.DataTransmitidoProdesp.ValidateDBNull()),
                                 new SqlParameter("@ds_transmissao_mensagem_prodesp", entity.MensagemServicoProdesp)));
 }
Esempio n. 8
0
        public PDExecucao ToEntity()
        {
            PDExecucao retorno = new PDExecucao();

            retorno.IdExecucaoPD           = this.IdExecucaoPD;
            retorno.IdConfirmacaoPagamento = this.IdConfirmacaoPagamento;
            retorno.TipoExecucao           = this.TipoExecucao;
            retorno.TransmitirProdesp      = this.TransmitirProdesp;
            retorno.TransmitirSiafem       = this.TransmitirSiafem;
            retorno.UgPagadora             = this.UGPagadora;
            retorno.UgLiquidante           = this.UGLiquidante;
            retorno.GestaoPagadora         = this.GestaoPagadora;
            retorno.GestaoLiquidante       = this.GestaoLiquidante;
            retorno.NumeroContrato         = this.NumeroContrato;
            retorno.CodigoAplicacaoObra    = this.CodigoAplicacaoObra;
            retorno.NumeroDocumento        = this.NumeroDocumento;
            retorno.NumeroDocumentoGerador = this.NumeroDocumentoGerador;
            retorno.DataEmissao            = Convert.ToDateTime(this.DataEmissao);
            retorno.DataVencimento         = Convert.ToDateTime(this.DataVencimento);

            #region Confirmacao
            retorno.EhConfirmacaoPagamento = this.EhConfirmacaoPagamento == SimNao.Sim;
            retorno.TipoPagamento          = this.TipoPagamento;
            retorno.DataConfirmacao        = Convert.ToDateTime(this.DataConfirmacao);
            #endregion

            decimal outvalue = 0;
            Decimal.TryParse(this.Valor, out outvalue);
            retorno.Valor = outvalue;

            if (Items != null && Items.Any())
            {
                var lista = new List <PDExecucaoItem>();
                foreach (var item in Items)
                {
                    lista.Add(item.ToEntity());
                }
                retorno.Items = lista.AsEnumerable();
            }

            //var listaConfirmacaoPagamentoItens = new List<PDExecucaoItem>();
            //foreach (var itemConfirmacaoPagamento in Items)
            //{
            //    listaConfirmacaoPagamentoItens.Add(itemConfirmacaoPagamento.ToEntity());
            //}
            //retorno.ItemsConfirmacaoPagamento = listaConfirmacaoPagamentoItens.AsEnumerable();

            return(retorno);
        }
Esempio n. 9
0
 public void DeletarNaoAgrupados(PDExecucao entity)
 {
     try
     {
         foreach (var item in entity.Items)
         {
             Delete(item.id_execucao_pd.ToString(), 2);
             break;
         }
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
Esempio n. 10
0
        public void TransmitirConfirmacaoPagamentoItem(int recursoId, PDExecucao pd, PDExecucaoItem item, DateTime?dataConfirmacao, int?tipoPagamento, bool transmitir, bool foiExecutado)
        {
            var cicsmo = new ChaveCicsmo();

            try
            {
                cicsmo = _chave.ObterChave(recursoId);

                item.AnoAserpaga     = dataConfirmacao.ToString().Substring(6, 4);
                item.Dt_confirmacao  = dataConfirmacao;
                item.DocumentoTipoId = item.IdTipoDocumento;
                item.NumeroDocumento = item?.NumeroDocumento;
                item.TipoPagamento   = tipoPagamento;
                item.DataCadastro    = DateTime.Now;

                if (transmitir)
                {
                    _prodespContaUnica.Inserir_ConfirmacaoPagamento(cicsmo.Chave, cicsmo.Senha, ref item);
                }

                item.Dt_confirmacao = dataConfirmacao;
                item.fl_transmissao_transmitido_prodesp = true;
                item.cd_transmissao_status_prodesp      = "S";
                item.dt_transmissao_transmitido_prodesp = DateTime.Now;
                item.ds_transmissao_mensagem_prodesp    = null;
            }
            catch (Exception ex)
            {
                item.Dt_confirmacao = null;
                item.cd_transmissao_status_prodesp      = "E";
                item.fl_transmissao_transmitido_prodesp = false;
                item.dt_transmissao_transmitido_prodesp = DateTime.Now;
                item.ds_transmissao_mensagem_prodesp    = ex.Message;
            }
            finally
            {
                _chave.LiberarChave(cicsmo.Codigo);

                var codigoEpdi = item.Codigo;
                if (!foiExecutado)
                {
                    item.Codigo = null;
                }
                SalvarItem(pd, item);
                item.Codigo = codigoEpdi;
            }
        }
Esempio n. 11
0
        public AcaoEfetuada Salvar(PDExecucao entity, int?recursoId)
        {
            try
            {
                if (entity.Id == 0)
                {
                    var id = _confirmacaoPgtoRepository.Add(entity);
                    entity.Id = id;
                }

                return(AcaoEfetuada.Sucesso);
            }
            catch (Exception ex)
            {
                throw SaveLog(ex, 1, recursoId);
            }
        }
Esempio n. 12
0
        public void TransmitirProdesp(PDExecucao entity, List <string> pdsMarcados, DateTime?dataConfirmacao, int?tipoPagamento, bool primeiraVez, int recursoId)
        {
            try
            {
                dataConfirmacao = dataConfirmacao ?? entity.DataConfirmacao;
                tipoPagamento   = tipoPagamento ?? entity.TipoPagamento;
                bool          jaConfirmado     = false;
                List <string> opsJaConfirmadas = new List <string>();

                foreach (var item in entity.Items)
                {
                    if (((item.NouP == "N" && !item.Prioritario) || item.NumeroCnpjcpfPagto.Length <= 6) && (item.NumOP != string.Empty && item.NumOP != null))
                    {
                        var op = item.NumOP.Substring(5, 6);

                        jaConfirmado = opsJaConfirmadas.Contains(op);
                        var foiExecutado = pdsMarcados.Contains(item.NumPD);

                        if (item.Executar || (item.IsDesdobramento && jaConfirmado))
                        {
                            TransmitirConfirmacaoPagamentoItem(recursoId, entity, item, dataConfirmacao, tipoPagamento, (item.Executar && !jaConfirmado), foiExecutado);

                            if (!opsJaConfirmadas.Contains(op))
                            {
                                opsJaConfirmadas.Add(op);
                            }
                        }
                    }
                }

                RemoverItensNaoPertencentes(entity, primeiraVez);
            }
            catch (Exception ex)
            {
                entity.StatusProdesp          = "E";
                entity.MensagemServicoProdesp = ex.Message;
            }
        }
        public void ExecutarPD(PDExecucao model, string UGMudapah, List <string> checados, Usuario user, int recursoId)
        {
            bool executar = false;

            if (model.TransmitirSiafem == null)
            {
                model.TransmitirSiafem = false;
            }

            var dadosUsuarioSiafem = _siafem.ConsultarUsuarioHomologacaoProducao(user.CPF, user.Senha, model.TransmitirSiafem.HasValue);

            USUARIO = dadosUsuarioSiafem.usuario;
            SENHA   = dadosUsuarioSiafem.senha;

            foreach (var item in model.Items)
            {
                executar = checados.Contains(item.NumPD);

                if (item.cd_transmissao_status_siafem != "S" && executar)
                {
                    ExecutarItemPD(user, item, UGMudapah);
                }
            }
        }
Esempio n. 14
0
        private void SalvarItem(PDExecucao entity, PDExecucaoItem item)
        {
            var confirmacaoPagamento = new ConfirmacaoPagamento();

            confirmacaoPagamento.IdTipoDocumento      = item.DocumentoTipoId;
            confirmacaoPagamento.AnoReferencia        = Convert.ToInt32(item.AnoAserpaga);
            confirmacaoPagamento.DataConfirmacao      = item.Dt_confirmacao;
            confirmacaoPagamento.TipoPagamento        = item.TipoPagamento;
            confirmacaoPagamento.IdExecucaoPD         = item.id_execucao_pd;
            confirmacaoPagamento.ValorTotalConfirmado = Convert.ToDecimal(item.Valor);

            if (entity.IdConfirmacaoPagamento == 0)
            {
                entity.IdConfirmacaoPagamento = _confirmacaoPgtoRepository.Add(confirmacaoPagamento);
            }
            else
            {
                confirmacaoPagamento.Id                     = entity.IdConfirmacaoPagamento;
                confirmacaoPagamento.StatusProdesp          = item.cd_transmissao_status_prodesp;
                confirmacaoPagamento.MensagemServicoProdesp = item.ds_transmissao_mensagem_prodesp;
                _confirmacaoPgtoRepository.Edit(confirmacaoPagamento);
            }

            item.id_confirmacao_pagamento = entity.IdConfirmacaoPagamento;

            //var items = this._confirmacaoPgtoItemRepository.Fetch(new ConfirmacaoPagamentoItem() { IdPDExecucaoItem = item.Codigo });

            if (item.IdConfirmacaoPagamentoItem != 0)
            {
                _confirmacaoPgtoItemRepository.Edit(item);
            }
            else
            {
                _confirmacaoPgtoItemRepository.Add(item); // ATUALIZA REGISTRO EXISTENTE OU ADICIONA INEXISTENTE
            }
        }
Esempio n. 15
0
        //L
        public DadoProgramacaoDesembolsoExecucaoViewModel(PDExecucao entity)
        {
            Items = new List <DadoProgramacaoDesembolsoExecucaoItemViewModel>();
            ItemsConfirmacaoPagamento = new List <DadoProgramacaoDesembolsoExecucaoItemViewModel>();
            this.IdExecucaoPD         = entity.IdExecucaoPD;
            this.Codigo = entity.IdExecucaoPD;

            this.IdConfirmacaoPagamento = entity.IdConfirmacaoPagamento;
            this.NumeroDocumento        = entity.NumeroDocumento;
            this.NumeroContrato         = entity.NumeroContrato != null ? entity.NumeroContrato : string.Empty;
            this.CodigoAplicacaoObra    = entity.CodigoAplicacaoObra;
            this.NumeroDocumentoGerador = entity.NumeroDocumentoGerador;
            this.DataEmissao            = entity.DataEmissao == default(DateTime) ? default(string) : Convert.ToString(entity.DataEmissao.ToShortDateString());

            this.DataVencimento    = entity.DataVencimento == default(DateTime) ? default(string) : Convert.ToString(entity.DataVencimento.ToShortDateString());
            this.TransmitirProdesp = entity.TransmitirProdesp;
            this.TransmitirSiafem  = entity.TransmitirSiafem;
            this.UGPagadora        = entity.UgPagadora;
            this.UGLiquidante      = entity.UgLiquidante;
            this.GestaoPagadora    = entity.GestaoPagadora;
            this.GestaoLiquidante  = entity.GestaoLiquidante;
            this.TipoExecucao      = entity.TipoExecucao;
            this.Valor             = entity.Valor.ToString();
            this.Total             = entity.Valor.ToString();

            foreach (var item in entity.Items)
            {
                item.ds_transmissao_mensagem_prodesp = entity.MensagemServicoProdesp ?? item.ds_transmissao_mensagem_prodesp;
                this.Items.Add(new DadoProgramacaoDesembolsoExecucaoItemViewModel(item));
            }

            this.confirmacaoPagamento   = entity.Confirmacao;
            this.TipoPagamento          = entity.TipoPagamento;
            this.EhConfirmacaoPagamento = entity.EhConfirmacaoPagamento ? SimNao.Sim : SimNao.Nao;
            this.DataConfirmacao        = entity.DataConfirmacao;
        }
Esempio n. 16
0
 public IEnumerable <PDExecucao> FetchForGrid(PDExecucao entity, DateTime since, DateTime until)
 {
     throw new NotImplementedException();
 }
 public IEnumerable <PDExecucao> Consultar(PDExecucao entity, DateTime De, DateTime Ate)
 {
     return(_repository.FetchForGrid(entity, De, Ate));
 }
Esempio n. 18
0
        public static Procedure_ConfirmacaoPagtoOPRecordType[] Procedure_ConfirmacaoPagtoOPApoio(string key, string password, PDExecucao confirmacaoPagamento, Regional orgao)
        {
            Procedure_ConfirmacaoPagtoOPFiltersType confirmacaoPagtoOPFiltersType = new Procedure_ConfirmacaoPagtoOPFiltersType()
            {
                inChave       = password,
                inOperador    = key,
                inDataDIA     = confirmacaoPagamento.DataConfirmacao.Value.ToString("dd"),
                inDataMES     = confirmacaoPagamento.DataConfirmacao.Value.ToString("MM"),
                inDataANO     = confirmacaoPagamento.DataConfirmacao.Value.ToString("yy"),
                inDocPagtoANO = confirmacaoPagamento.Ano?.Substring(2, 2),
                //inDocPagtoORGAO = orgao.Descricao?.Substring(2, 2),
                inDocPagtoORGAO = (confirmacaoPagamento.NumeroDocumento?.ToString() != "") ? confirmacaoPagamento.NumeroDocumento?.ToString().Substring(2, 2) : "",
                inDocPagtoTP    = confirmacaoPagamento.DocumentoTipoId.ToString(),
                //inDocPagtoOP = (confirmacaoPagamento.NumeroDocumento != "") ? confirmacaoPagamento.NumeroDocumento?.Substring(0, 6) : "",
                inDocPagtoOP  = confirmacaoPagamento.NumOP.Substring(5, 6),
                inTipPagto    = confirmacaoPagamento.TipoPagamento?.ToString(),
                inConfirmacao = ""
            };

            return(new WSProdespPagamentoContaUnica().Procedure_ConfirmacaoPagtoOP(confirmacaoPagtoOPFiltersType, new ModelVariablesType(), new EnvironmentVariablesType()));
        }
        public FiltroViewModel CreateInstance(PDExecucao objModel, IEnumerable <PreparacaoPagamentoTipo> preparacaoPagamentoTipos, DateTime de, DateTime ate)
        {
            var filtro = new FiltroViewModel();

            return(filtro);
        }
Esempio n. 20
0
 public IEnumerable <PDExecucao> Fetch(PDExecucao entity)
 {
     throw new NotImplementedException();
 }
Esempio n. 21
0
        private void Salvar(ref PDExecucao model, List <string> checados)
        {
            var acao = model.IdExecucaoPD > 0 ? EnumAcao.Alterar : EnumAcao.Inserir;

            App.ProgramacaoDesembolsoExecucaoService.Salvar(ref model, checados, Convert.ToInt32(_funcId), Convert.ToInt16(acao));
        }