Exemple #1
0
        public IEnumerable <ConsultaDesdobramento> ConsultaDesdobramento(string key, string password, string number, int type)
        {
            var result = DataHelperProdespPagamentoContaUnica.Procedure_ConsultaDesdobramento(key, password, number, type) ?? new Procedure_ConsultaDesdobramentoRecordType[] { };



            if (!string.IsNullOrEmpty(result[0]?.outErro))
            {
                throw new SidsException($"Prodesp - {result[0]?.outErro}");
            }

            var consultaDesdobramentos = new List <ConsultaDesdobramento>();

            foreach (var resultItem in result)
            {
                var consultaDesdobramento = new ConsultaDesdobramento();
                var subempenhoProprietys  = consultaDesdobramento.GetType().GetProperties().ToList();

                var propriedade = resultItem.GetType().GetProperties().ToList();

                foreach (var subempenhoPropriety in subempenhoProprietys)
                {
                    subempenhoPropriety.SetValue(consultaDesdobramento, propriedade.FirstOrDefault(x => x.Name == subempenhoPropriety.Name)?.GetValue(resultItem).ToString());
                }
                consultaDesdobramentos.Add(consultaDesdobramento);
            }


            return(consultaDesdobramentos);
        }
Exemple #2
0
 public object ConsultaDesdobramentoApoio(string key, string password, Desdobramento objModel)
 {
     try
     {
         if (objModel.DesdobramentoTipoId == 1)
         {
             var result = DataHelperProdespPagamentoContaUnica.Procedure_DesdobramentoISSQNApoio(
                 key, password, objModel)
                          ?? new Procedure_DesdobramentoISSQNApoioRecordType[] { };
             var resultItem = result.FirstOrDefault();
             if (!string.IsNullOrEmpty(resultItem?.outErro))
             {
                 throw new SidsException($"Prodesp - {resultItem?.outErro}");
             }
             return(resultItem);
         }
         else
         {
             var result     = DataHelperProdespPagamentoContaUnica.Procedure_DesdobramentoOutrosApoio(key, password, objModel) ?? new Procedure_DesdobramentoOutrosApoioRecordType[] { };
             var resultItem = result.FirstOrDefault();
             if (!string.IsNullOrEmpty(resultItem?.outErro))
             {
                 throw new SidsException($"Prodesp - {resultItem?.outErro}");
             }
             return(resultItem);
         }
     }
     catch (Exception ex)
     {
         throw new SidsException(ex.Message.Contains("EntradaCICS_Fora")
             ? "Erro na comunicação com WebService Prodesp."
             : ex.Message);
     }
 }
Exemple #3
0
        public void Inserir_PreparacaoPagamento(string key, string password, ref PreparacaoPagamento entity, Regional orgao)
        {
            if (entity.PreparacaoPagamentoTipoId == 1)
            {
                var result = DataHelperProdespPagamentoContaUnica.Procedure_PreparacaoPagtoOrgao(key, password, entity, orgao) ?? new Procedure_PreparacaoPagtoOrgaoRecordType[] { };

                var resultItem = result[0] ?? new Procedure_PreparacaoPagtoOrgaoRecordType();

                if (!string.IsNullOrEmpty(resultItem?.outErro))
                {
                    throw new SidsException($"Prodesp - {resultItem?.outErro}");
                }

                entity.ValorTotal            = Convert.ToDecimal(resultItem.outTotal);
                entity.NumeroOpFinal         = resultItem.outNumOPFinal.Replace("-", string.Empty);
                entity.NumeroOpInicial       = resultItem.outNumOPInicial.Replace("-", string.Empty);
                entity.QuantidadeOpPreparada = Convert.ToInt32(resultItem.outQuantidadeOPs.Replace(",", "").Replace(".", ""));
            }
            else
            {
                var result = DataHelperProdespPagamentoContaUnica.Procedure_PreparacaoPagtoDocGerador(key, password, entity) ?? new Procedure_PreparacaoPagtoDocGeradorRecordType[] { };

                var resultItem = result[0] ?? new Procedure_PreparacaoPagtoDocGeradorRecordType();

                if (!string.IsNullOrEmpty(resultItem?.outErro))
                {
                    throw new SidsException($"Prodesp - {resultItem?.outErro}");
                }

                entity.ValorTotal            = Convert.ToDecimal(resultItem.outTotal);
                entity.NumeroOpFinal         = resultItem.outNumeroOPFinal.Replace("-", "");
                entity.NumeroOpInicial       = resultItem.outNumeroOPInicial.Replace("-", "");
                entity.QuantidadeOpPreparada = Convert.ToInt32(resultItem.outQtdadeOP.Replace(",", "").Replace(".", ""));
            }
        }
Exemple #4
0
        public IEnumerable <Credor> ConsultaCredorReduzido(string key, string password, string organizacao)
        {
            try
            {
                var result = DataHelperProdespPagamentoContaUnica.Procedure_ConsultaCredorReduzido(key, password, organizacao);

                var resultItem = result.ToList();

                if (!string.IsNullOrEmpty(resultItem[0]?.outErro))
                {
                    throw new SidsException($"Prodesp - {resultItem[0]?.outErro}");
                }

                return(resultItem.Select(x => new Credor
                {
                    Prefeitura = x.outNome,
                    Conveniado = !string.IsNullOrWhiteSpace(x.outConveniado),
                    BaseCalculo = !string.IsNullOrWhiteSpace(x.outBaseCalc),
                    NomeReduzidoCredor = x.outNomeReduzido,
                    CpfCnpjUgCredor = x.outCodCredor.Replace("/", "").Replace(".", "").Replace("-", "")
                }));
            }
            catch (Exception ex)
            {
                throw new SidsException(ex.Message.Contains("EntradaCICS_Fora")
                    ? "Erro na comunicação com WebService Prodesp."
                    : ex.Message);
            }
        }
Exemple #5
0
        public void DesbloqueioOp(string key, string password, IProgramacaoDesembolso programacaoDesembolso)
        {
            var result = DataHelperProdespPagamentoContaUnica.Procedure_DesbloqueioPagtoDoc(key, password, programacaoDesembolso) ?? new Procedure_DesbloqueioPagtoDocRecordType[] { };

            if (!string.IsNullOrEmpty(result[0]?.outErro))
            {
                throw new SidsException($"Prodesp - {result[0]?.outErro}");
            }
        }
Exemple #6
0
        public IEnumerable <object> BloqueioOpApoio(string key, string password, ProgramacaoDesembolso programacaoDesembolso)
        {
            var result = DataHelperProdespPagamentoContaUnica.Procedure_BloqueioPagtoDocApoio(key, password, programacaoDesembolso) ?? new Procedure_BloqueioPagtoDocApoioRecordType[] { };

            if (!string.IsNullOrEmpty(result[0]?.outErro))
            {
                throw new SidsException($"Prodesp - {result[0]?.outErro}");
            }

            return(result);
        }
Exemple #7
0
        public void Inserir_ConfirmacaoPagamento(string key, string password, ref OBAutorizacaoItem entity, Regional orgao)
        {
            var result = DataHelperProdespPagamentoContaUnica.Procedure_ConfirmacaoPagtoOPApoio(key, password, entity, orgao) ?? new Procedure_ConfirmacaoPagtoOPRecordType[] { };

            var resultItem = result[0] ?? new Procedure_ConfirmacaoPagtoOPRecordType();

            if (!string.IsNullOrEmpty(resultItem?.outErro))
            {
                throw new SidsException($"Prodesp - {resultItem?.outErro}");
            }

            //entity.ValorTotal = Convert.ToDecimal(resultItem.outTotal);
            //entity.NumeroOpFinal = resultItem.outNumOPFinal.Replace("-", string.Empty);
            //entity.NumeroOpInicial = resultItem.outNumOPInicial.Replace("-", string.Empty);
            //entity.QuantidadeOpPreparada = Convert.ToInt32(resultItem.outQuantidadeOPs);
        }
Exemple #8
0
        private void TransmitirConfirmacaoProdesp(ConfirmacaoPagamento entity, ChaveCicsmo cicsmo, ref bool todosTransmitidos, ref string verificaNumeroGerador, Regional orgao, ConfirmacaoPagamentoItem item)
        {
            if (item.NumeroDocumentoGerador.Substring(0, 17) != verificaNumeroGerador)
            {
                ConfirmacaoPagamento confirmarPagamentoUnico = new ConfirmacaoPagamento();
                confirmarPagamentoUnico.DataConfirmacao = entity.DataConfirmacao;
                confirmarPagamentoUnico.AnoReferencia   = entity.AnoReferencia;
                confirmarPagamentoUnico.IdTipoDocumento = Convert.ToInt16(item.NumeroOp.Substring(4, 1));
                confirmarPagamentoUnico.NumeroOP        = item.NumeroOp;
                confirmarPagamentoUnico.TipoPagamento   = entity.TipoPagamento;
                orgao.Id = Convert.ToInt16(item.NumeroOp.Substring(2, 2));

                var result = DataHelperProdespPagamentoContaUnica.Procedure_ConfirmacaoPagtoOPApoio(cicsmo.Chave, cicsmo.Senha, confirmarPagamentoUnico, orgao);

                verificaNumeroGerador = item.NumeroDocumentoGerador.Substring(0, 17);

                if (!string.IsNullOrWhiteSpace(result[0].outErro))
                {
                    confirmarPagamentoUnico.DataTransmitidoProdesp = DateTime.Now;
                    confirmarPagamentoUnico.StatusProdesp          = "E";
                    confirmarPagamentoUnico.TransmitidoProdesp     = false;
                    confirmarPagamentoUnico.NumeroDocumento        = item.NumeroNlDocumento;
                    confirmarPagamentoUnico.Id = entity.Id;
                    confirmarPagamentoUnico.MensagemServicoProdesp = result[0].outErro;

                    confirmarPagamentoUnico.NumeroDocumentoItem = item.NumeroDocumentoGerador;
                }
                else
                {
                    confirmarPagamentoUnico.DataTransmitidoProdesp = DateTime.Now;
                    confirmarPagamentoUnico.StatusProdesp          = "S";
                    confirmarPagamentoUnico.TransmitidoProdesp     = true;
                    confirmarPagamentoUnico.NumeroDocumento        = entity.NumeroDocumento;
                    confirmarPagamentoUnico.Id = entity.Id;
                    confirmarPagamentoUnico.NumeroDocumentoItem = item.NumeroDocumentoGerador;
                }

                this.AtualizarPagamento(confirmarPagamentoUnico);


                if (todosTransmitidos)
                {
                    todosTransmitidos = confirmarPagamentoUnico.StatusProdesp.Equals("S");
                }
            }
        }
Exemple #9
0
        public void Inserir_DesdobramentoOutros(string key, string password, ref Desdobramento entity)
        {
            try
            {
                var result = DataHelperProdespPagamentoContaUnica.Procedure_DesdobramentoOutros(key, password, entity) ?? new Procedure_DesdobramentoOutrosRecordType[] { };

                var resultItem = result[0] ?? new Procedure_DesdobramentoOutrosRecordType();

                if (!string.IsNullOrEmpty(resultItem?.outErro))
                {
                    throw new SidsException($"Prodesp - {resultItem?.outErro}");
                }

                entity.DescricaoCredor    = resultItem?.outCredor01;
                entity.NomeReduzidoCredor = resultItem?.outCredorReduz;
                entity.TipoDespesa        = resultItem?.outTipoDespesa;
                entity.ValorDistribuido   = Convert.ToDecimal(resultItem?.outValorOriginal);

                var filteProperties = resultItem.GetType().GetProperties().ToList();

                foreach (var identificacaoDesdobramento in entity.IdentificacaoDesdobramentos)
                {
                    foreach (var filterPropriety in filteProperties)
                    {
                        if (identificacaoDesdobramento.NomeReduzidoCredor.ToUpper() == filterPropriety.GetValue(resultItem).ToString().ToUpper() && filterPropriety.Name != "outCredorReduz")
                        {
                            var name  = filterPropriety.Name;
                            var index = name.Substring(name.Length - 2, 2);

                            var valor    = filteProperties.FirstOrDefault(x => x.Name == $"outValor_{index}")?.GetValue(resultItem).ToString();
                            var baseCalc = filteProperties.FirstOrDefault(x => x.Name == $"outPorcentagem_{index}")?.GetValue(resultItem).ToString();

                            identificacaoDesdobramento.TipoBloqueio    = filteProperties.FirstOrDefault(x => x.Name == $"outTipoBloqueio_{index}")?.GetValue(resultItem).ToString();
                            identificacaoDesdobramento.ValorDesdobrado = Convert.ToDecimal((valor == "" ? "0" : valor));
                            identificacaoDesdobramento.ValorPercentual = Convert.ToDecimal(baseCalc == "" ? "0" : baseCalc);
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                throw new SidsException(ex.Message.Contains("EntradaCICS_Fora")
                    ? "Erro na comunicação com WebService Prodesp."
                    : ex.Message);
            }
        }
Exemple #10
0
 public object ConsultarPreparacaoPgtoTipoDespesaDataVenc(string key, string password, PreparacaoPagamento objModel)
 {
     try
     {
         var result     = DataHelperProdespPagamentoContaUnica.Procedure_PreparacaoPagtoOrgaoApoioRecordType(key, password, objModel) ?? new Procedure_PreparacaoPagtoOrgaoApoioRecordType[] { };
         var resultItem = result.FirstOrDefault();
         if (!string.IsNullOrEmpty(resultItem?.outErro))
         {
             throw new SidsException($"Prodesp - {resultItem?.outErro}");
         }
         return(resultItem);
     }
     catch (Exception ex)
     {
         throw new SidsException(ex.Message.Contains("EntradaCICS_Fora")
             ? "Erro na comunicação com WebService Prodesp."
             : ex.Message);
     }
 }
Exemple #11
0
        public void AnulacaoDesdobramento(string key, string password, ref Desdobramento entity)
        {
            try
            {
                var result = DataHelperProdespPagamentoContaUnica.Procedure_AnulacaoDesdobramento(key, password, entity);

                var resultItem = result.ToList();

                if (!string.IsNullOrEmpty(resultItem[0]?.outErro))
                {
                    throw new SidsException($"Prodesp - {resultItem[0]?.outErro}");
                }
            }
            catch (Exception ex)
            {
                throw new SidsException(ex.Message.Contains("EntradaCICS_Fora")
                    ? "Erro na comunicação com WebService Prodesp."
                    : ex.Message);
            }
        }
Exemple #12
0
        public IEnumerable <ProgramacaoDesembolsoAgrupamento> ConsultaDocumentoGerador(string key, string password, ProgramacaoDesembolso programacaoDesembolso, Regional orgao)
        {
            var result = DataHelperProdespPagamentoContaUnica.Procedure_ConsultaPagtosPrepararSDFF(key, password, programacaoDesembolso, orgao) ?? new Procedure_ConsultaPagtosPrepararSDFFRecordType[] { };



            if (!string.IsNullOrEmpty(result[0]?.outErro))
            {
                throw new SidsException($"Prodesp - {result[0]?.outErro}");
            }

            if (string.IsNullOrEmpty(result[0]?.outNumDoc))
            {
                throw new SidsException($"Prodesp - Nenhum pagamento a preparar encontrado");
            }

            var documentoGeradorList = ProgramacaoDesembolsoAgrupamentosFactory(result);

            documentoGeradorList.Where(x => string.IsNullOrWhiteSpace(x.NumeroDocumento)).ToList().ForEach(x => x.NumeroDocumento = programacaoDesembolso.NumeroDocumento);
            documentoGeradorList.Where(x => x.DocumentoTipoId == 0).ToList().ForEach(x => x.DocumentoTipoId = programacaoDesembolso.DocumentoTipoId);

            return(documentoGeradorList);
        }
        private void TransmitirProdesp(ConfirmacaoPagamento entity, int recursoId)
        {
            string verificaNumeroGerador = string.Empty;

            try
            {
                var itens = entity.Items.OrderBy(p => p.NumeroDocumentoGerador);

                //Transmitir confirmação Prodesp
                Model.Entity.Seguranca.Regional orgao = new Model.Entity.Seguranca.Regional();

                foreach (var item in itens)
                {
                    if (string.IsNullOrWhiteSpace(entity.FonteLista)) // remover, não necessita quando usamos o selecionar
                    {
                        if (item.NumeroDocumentoGerador.Substring(0, 17) != verificaNumeroGerador)
                        {
                            ConfirmacaoPagamento confirmarPagamentoUnico = new ConfirmacaoPagamento();
                            confirmarPagamentoUnico.Senha           = entity.Senha;
                            confirmarPagamentoUnico.Chave           = entity.Chave;
                            confirmarPagamentoUnico.DataConfirmacao = entity.DataConfirmacao;
                            confirmarPagamentoUnico.AnoReferencia   = entity.AnoReferencia;
                            confirmarPagamentoUnico.IdTipoDocumento = Convert.ToInt16(item.NumeroDocumentoGerador.Substring(0, 2));
                            confirmarPagamentoUnico.NumeroOP        = item.NumeroOp;
                            confirmarPagamentoUnico.TipoPagamento   = entity.TipoPagamento;
                            orgao.Id = Convert.ToInt16(item.NumeroOp.Substring(2, 2));

                            var result = DataHelperProdespPagamentoContaUnica.Procedure_ConfirmacaoPagtoOPApoio(entity.Chave, entity.Senha, confirmarPagamentoUnico, orgao);

                            verificaNumeroGerador = item.NumeroDocumentoGerador.Substring(0, 17);


                            if (result[0].outErro == "" || result[0].outErro == null)
                            {
                                confirmarPagamentoUnico.DataTransmitidoProdesp   = DateTime.Now;
                                confirmarPagamentoUnico.StatusProdesp            = "S";
                                confirmarPagamentoUnico.TransmitidoProdesp       = true;
                                confirmarPagamentoUnico.NumeroDocumento          = entity.NumeroDocumento;
                                confirmarPagamentoUnico.id_confirmacao_pagamento = entity.Id;
                                confirmarPagamentoUnico.NumeroDocumentoItem      = item.NumeroDocumentoGerador;
                            }
                            else
                            {
                                confirmarPagamentoUnico.DataTransmitidoProdesp   = DateTime.Now;
                                confirmarPagamentoUnico.StatusProdesp            = "E";
                                confirmarPagamentoUnico.TransmitidoProdesp       = false;
                                confirmarPagamentoUnico.NumeroDocumento          = item.NumeroNlDocumento;
                                confirmarPagamentoUnico.id_confirmacao_pagamento = entity.Id;
                                confirmarPagamentoUnico.MensagemServicoProdesp   = result[0].outErro;

                                confirmarPagamentoUnico.NumeroDocumentoItem = item.NumeroDocumentoGerador;
                            }

                            var update = this.AtualizarPagamento(confirmarPagamentoUnico);
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                throw SaveLog(ex, (short)EnumAcao.Transmitir, recursoId);
            }
        }