示例#1
0
        public string InserirCancelamentoTesouroSiafem(string login, string senha, MovimentacaoOrcamentaria movimentacao, ref MovimentacaoCancelamento objModel, IEnumerable <MovimentacaoMes> mes, string unidadeGestora)
        {
            try
            {
                var dtoSiafdoc = new DocumentoCancelamento
                {
                    Cancelamento = objModel,
                    Programa     = _programa.Fetch(new Programa {
                        Codigo = movimentacao.IdPrograma
                    }).FirstOrDefault(),
                    Fonte = _fonte.Fetch(new Fonte {
                        Id = movimentacao.IdFonte
                    }).FirstOrDefault(),
                    Estutura = _estutura.Fetch(new Estrutura {
                        Codigo = movimentacao.IdEstrutura
                    }).FirstOrDefault(),
                    ValorMes       = mes,
                    DataCadastro   = movimentacao.DataCadastro,
                    UnidadeGestora = movimentacao.UnidadeGestoraEmitente
                };

                var siafdoc = GerarSiafdocCancelamentoTesouro(dtoSiafdoc);

                var response = _siafem.InserirInserirMovimentacaoOrcamentaria(login, senha, unidadeGestora, siafdoc).ToXml("SIAFEM");

                return(ReturnMessageWithStatusForSiafemService(response));
            }
            catch (Exception e)
            {
                HttpContext.Current.Session["xml"]       = HttpContext.Current.Session["xmlSiafem"];
                HttpContext.Current.Session["xmlSiafem"] = "";
                throw new SidsException(e.Message);
            }
        }
        public string InserirReservaSiafem(string login, string senha, IReserva reserva, List <IMes> mes, string unidadeGestora)
        {
            try
            {
                var dtoSiafdoc = new DtoSiafdoc
                {
                    Reserva  = reserva,
                    Programa = _programa.Fetch(new Programa {
                        Codigo = (int)reserva.Programa
                    }).FirstOrDefault(),
                    Fonte = _fonte.Fetch(new Fonte {
                        Id = (int)reserva.Fonte
                    }).FirstOrDefault(),
                    Estutura = _estutura.Fetch(new Estrutura {
                        Codigo = (int)reserva.Estrutura
                    }).FirstOrDefault(),
                    ValorMes = mes
                };

                var siafdoc = GerarSiafdoc(dtoSiafdoc);
                var result  = _siafemReservaService.InserirReservaSiafem(login, senha, unidadeGestora, siafdoc);
                this.SaveLog(new Exception(result)); // TODO remover
                var root = true.ToString();
                var xm   = ConverterXml(result);

                var status       = xm.GetElementsByTagName("StatusOperacao");
                var messagemErro = xm.GetElementsByTagName("MsgErro");
                var numeroNr     = xm.GetElementsByTagName("NumeroNR");

                if (status.Count > 0)
                {
                    root = status[0].FirstChild.Value;
                }
                else if (messagemErro.Count > 0 && messagemErro[0].InnerText != "")
                {
                    root = false.ToString();
                }

                if (!bool.Parse(root))
                {
                    throw new SiafemException(messagemErro[0].InnerText);
                }

                return(numeroNr[0].InnerText);
            }
            catch (Exception e)
            {
                this.SaveLog(e); // TODO remover
                HttpContext.Current.Session["xml"]       = HttpContext.Current.Session["xmlSiafem"];
                HttpContext.Current.Session["xmlSiafem"] = "";
                throw new SidsException(e.Message);
            }
        }
        public AcaoEfetuada Excluir(Programa programa, int recursoId, short actionId)
        {
            try
            {
                var estruturas = _estrutura.Fetch(new Estrutura {
                    Programa = programa.Codigo
                }).Count();

                if (estruturas > 0)
                {
                    throw new SidsException("Existem itens de estrutura associados ao programa, não é permitida a exclusão.");
                }

                if (Buscar(new Programa {
                    Ano = (programa.Ano + 1)
                }).Any())
                {
                    throw new SidsException($"Não é permitida a exclusão do programa. Existe estrutura de programas cadastradas no ano {programa.Ano + 1}.");
                }

                _programa.Remove(programa.Codigo);

                var arg = $"Programa {programa.Descricao}, Codigo {programa.Codigo}";


                var programas = (IEnumerator <Programa>)_programa.Fetch(new Programa());
                SetCurrentCache(programas, "Programa");

                return(LogSucesso(actionId, recursoId, arg));
            }
            catch (Exception ex)
            {
                throw SaveLog(ex, actionId, recursoId);
            }
        }
        public object RapRequisicaoApoio(string key, string password, IRap entity, ICrudPrograma programa, ICrudEstrutura estrutura, IRegional regional)
        {
            try
            {
                var result = DataHelperProdespLiquidacaoDespesa.Procedure_RapRequisicaoApoio(key, password, entity) ?? new Procedure_RequisicaoRAPApoioRecordType[] { };

                var resultItem = result.FirstOrDefault() ?? new Procedure_RequisicaoRAPApoioRecordType();


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

                var outCFP = resultItem?.outCFP.Replace(" ", "").Replace(".", "").Replace("/", "").Substring(0, 13);
                var outCED = resultItem?.outCED.Replace(".", "").Replace(" ", "").Replace("/", "");

                var prog = programa.Fetch(new Programa {
                    Cfp = outCFP, Ano = DateTime.Now.Year
                }).FirstOrDefault();
                var natureza = estrutura.Fetch(new Estrutura {
                    Natureza = outCED, Programa = prog?.Codigo
                }).FirstOrDefault();
                var orgao = regional.Fetch(new Regional {
                    Orgao = resultItem?.outOrgao
                }).FirstOrDefault();

                resultItem.outCED = natureza?.Codigo.ToString();
                resultItem.outCFP = prog?.Codigo.ToString();
                //resultItem.outCGC = resultItem.outCGC;
                //resultItem.outContrato = resultItem.outContrato;
                //resultItem.outCredor1 = resultItem.outCredor1;
                //resultItem.outCredor2 = resultItem.outCredor2;
                //resultItem.outDataRealizacao = resultItem.outDataRealizacao;
                //resultItem.outErro = resultItem.outErro;
                //resultItem.outInfoTransacao = resultItem.outInfoTransacao;
                //resultItem.outMedicao = resultItem.outMedicao;
                //resultItem.outNFF = resultItem.outNFF;
                //resultItem.outNatureza = resultItem.outNatureza;
                //resultItem.outOrganiz = resultItem.outOrganiz;
                //resultItem.outPrazoPagto = resultItem.outPrazoPagto;
                //resultItem.outSucesso = resultItem.outSucesso;
                resultItem.outOrgao = orgao?.Id.ToString();


                return(resultItem);
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message.Contains("EntradaCICS_Fora")
                    ? "Erro na comunicação com WebService Prodesp."
                    : ex.Message);
            }
        }
        public string InserirReserva(Model.Entity.Reserva.Reserva reserva, List <IMes> mes, string chave, string senha)
        {
            var programa = _programa.Fetch(new Programa {
                Codigo = (int)reserva.Programa
            }).FirstOrDefault();
            var fonte = _fonte.Fetch(new Fonte {
                Id = (int)reserva.Fonte
            }).FirstOrDefault();
            var estrutura = _estutura.Fetch(new Estrutura {
                Codigo = (int)reserva.Estrutura
            }).FirstOrDefault();
            var regional = _regional.Fetch(new Regional {
                Id = (int)reserva.Regional
            }).FirstOrDefault();

            return(_prodesp.InserirReserva(chave, senha, reserva, mes, programa, estrutura, fonte, regional));
        }
        public string InserirEmpenho(Empenho objModel, IEnumerable <IMes> mes, string chave, string senha)
        {
            var programa = _programa.Fetch(new Programa {
                Codigo = objModel.ProgramaId
            }).FirstOrDefault();
            var fonte = _fonte.Fetch(new Fonte {
                Id = objModel.FonteId
            }).FirstOrDefault();
            var estrutura = _estutura.Fetch(new Estrutura {
                Codigo = objModel.NaturezaId
            }).FirstOrDefault();
            var regional = _regional.Fetch(new Regional {
                Id = objModel.RegionalId
            }).FirstOrDefault();

            return(_prodesp.InserirEmpenho(chave, senha, objModel, mes, programa, estrutura, fonte, regional));
        }
        public object RapAnulacaoApoio(string key, string password, string numRequisicaoRap, ICrudPrograma programa, ICrudEstrutura estrutura, IRegional regional)
        {
            try
            {
                var result = DataHelperProdespLiquidacaoDespesa.Procedure_RapAnulacaoApoio(key, password, numRequisicaoRap) ?? new Procedure_anulacaoRequisicaoRAPApoioRecordType[] { };

                var resultItem = result.FirstOrDefault() ?? new Procedure_anulacaoRequisicaoRAPApoioRecordType();


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


                var outCFP = resultItem?.outCFP.Replace(" ", "").Replace(".", "").Replace("/", "").Substring(0, 13);
                var outCED = resultItem?.outCED.Replace(".", "").Replace(" ", "").Replace("/", "");

                var prog = programa.Fetch(new Programa {
                    Cfp = outCFP, Ano = DateTime.Now.Year
                }).FirstOrDefault();
                var natureza = estrutura.Fetch(new Estrutura {
                    Natureza = outCED, Programa = prog?.Codigo
                }).FirstOrDefault();
                var orgao = regional.Fetch(new Regional {
                    Orgao = resultItem?.outOrgao
                }).FirstOrDefault();

                resultItem.outCED   = natureza?.Codigo.ToString();
                resultItem.outCFP   = prog?.Codigo.ToString();
                resultItem.outOrgao = orgao?.Id.ToString();


                return(resultItem);
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message.Contains("EntradaCICS_Fora")
                    ? "Erro na comunicação com WebService Prodesp."
                    : ex.Message);
            }
        }