public ConsultaOc ConsultaOC(string login, string senha, string oc, string unidadegestora, string gestao)
        {
            try
            {
                var siafdoc = new SFCODOC
                {
                    cdMsg = "SFCOConsultaOC",
                    SiafisicoConsultaOC = new SiafisicoConsultaOC
                    {
                        documento = new documento
                        {
                            UnidadeGestora = unidadegestora,
                            Gestao         = gestao,
                            PrefixoOC      = oc.Substring(0, 6),
                            NumOC          = oc.Substring(6, 5)
                        }
                    }
                };

                var    result = _siafemReservaService.ConsultaOC(login, senha, unidadegestora, siafdoc);
                string root   = false.ToString();
                var    xm     = ConverterXml(result);

                var status = xm.GetElementsByTagName("StatusOperacao");

                var messagem = xm.GetElementsByTagName("MsgErro");
                messagem = messagem.Count == 0? xm.GetElementsByTagName("MsgRetorno"): messagem;


                if (status.Count > 0)
                {
                    root = status[0].FirstChild.Value;
                }
                else if (messagem.Count > 0)
                {
                    root = false.ToString();
                }

                if (!bool.Parse(root))
                {
                    throw new SiafisicoException(messagem[0].FirstChild.Value);
                }

                return(new ConsultaOc
                {
                    Natureza = xm.GetElementsByTagName("cd_Natureza")[0].FirstChild.Value,
                    Fonte = xm.GetElementsByTagName("cd_Fonte")[0].FirstChild.Value,
                    Processo = xm.GetElementsByTagName("cd_NumeroProcesso")[0].FirstChild.Value,
                    Ptres = xm.GetElementsByTagName("cd_Ptres")[0].FirstChild.Value
                });
            }
            catch (Exception e)
            {
                throw new SidsException(e.Message);
            }
        }
Esempio n. 2
0
 public string ConsultaOC(string login, string senha, string unidadeGestora, SFCODOC document)
 {
     try
     {
         return(DataHelperSiafem <SFCODOC> .Send(login, senha, unidadeGestora, document));
     }
     catch
     {
         throw new Exception("Erro na comunicação com WebService Siafem.");
     }
 }
Esempio n. 3
0
 public string ConsultaOC(string login, string senha, string unidadeGestora, SFCODOC siafdoc)
 {
     try
     {
         return(DataHelperSiafem <SFCODOC> .EmviarMensagem(login, senha, unidadeGestora, siafdoc));
     }
     catch (Exception ex)
     {
         throw new Exception("Erro na comunicação com WebService Siafem.");
     }
 }
Esempio n. 4
0
        private static SFCODOC GerarSfcodoc(DtoSiafdoc dtoSiafdoc)
        {
            var siafdoc = new SFCODOC
            {
                cdMsg = "SFCONRPregao",
                SiafisicoDocNRPregao = new SiafisicoDocNRPregao
                {
                    documento = new documento
                    {
                        DataEmissao = dtoSiafdoc.Reserva.DataEmissao.ToString("ddMMMyyyy").ToUpper(),
                        Gestao      = dtoSiafdoc.Reserva.Uo,
                        NumOC       = dtoSiafdoc.Reserva.Oc.Substring(6, 5),
                        UG          = dtoSiafdoc.Reserva.Ugo
                    }
                }
            };

            var listObs = dtoSiafdoc.Reserva.Observacao.Split(';');

            if (listObs.Length > 0)
            {
                siafdoc.SiafisicoDocNRPregao.documento.Observacao1 = removerAcentos(listObs[0]);
            }

            if (listObs.Length > 1)
            {
                siafdoc.SiafisicoDocNRPregao.documento.Observacao2 = removerAcentos(listObs[1]);
            }

            if (listObs.Length > 2)
            {
                siafdoc.SiafisicoDocNRPregao.documento.Observacao3 = removerAcentos(listObs[2]);
            }

            var propriedades = siafdoc.SiafisicoDocNRPregao.documento.GetType().GetProperties().ToList();

            var valorMes = dtoSiafdoc.ValorMes.ToList();

            for (int i = 0; i < valorMes.Count; i++)
            {
                propriedades.FirstOrDefault(x => x.Name == "Mes" + (i + 1).ToString())
                .SetValue(siafdoc.SiafisicoDocNRPregao.documento, valorMes[i].Descricao);
                propriedades.FirstOrDefault(x => x.Name == "Valor" + (i + 1).ToString())
                .SetValue(siafdoc.SiafisicoDocNRPregao.documento, valorMes[i].ValorMes.ToString());
            }

            return(siafdoc);
        }
 public string InserirSubempenhoSiafisico(string login, string password, string unidadeGestora, SFCODOC document, bool tagId = false)
 {
     try { return(DataHelperSiafem <SFCODOC> .Send(login, password, unidadeGestora, document, tagId)); }
     catch { throw new Exception(ERROR_MESSAGE); }
 }
Esempio n. 6
0
        public static SFCODOC GerarSiafisicoCtDescricao(Documento document, EnumAcaoSiaf acao, EnumTipoOperacaoEmpenho operacaoEmpenho)
        {
            var siafdoc = new SFCODOC();

            string mensagem = string.Empty;

            var qtdConvertida = document.EmpenhoItem.QuantidadeMaterialServico.ConverterQuantidade();

            string vlrDesc;
            string vlrInt;
            //if (document.EmpenhoItem.ValorUnitario.ToString().Length < 3)
            //{
            //    vlrDesc = int.Parse(document.EmpenhoItem.ValorUnitario.ToString()).ToString("D2");
            //    vlrInt = "0";
            //}
            //else
            //{
            //    vlrDesc = document.EmpenhoItem.ValorUnitario.ToString().Substring(document.EmpenhoItem.ValorUnitario.ToString().Length - 2, 2);
            //    vlrInt = document.EmpenhoItem.ValorUnitario.ToString().Substring(0, document.EmpenhoItem.ValorUnitario.ToString().Length - 2);
            //}
            var arrVlr = document.EmpenhoItem.ValorUnitario.ToString(new CultureInfo("pt-BR")).Split(',');

            vlrInt  = arrVlr[0] ?? "0";
            vlrDesc = arrVlr.Length == 1 ? "0" : arrVlr[1] ?? "0";

            string numeroCt      = string.Empty;
            string ug            = string.Empty;
            string gestao        = string.Empty;
            int    dist          = 0;
            string valorUnitario = string.Empty;

            switch (operacaoEmpenho)
            {
            case EnumTipoOperacaoEmpenho.Cancelamento:
                numeroCt = document.EmpenhoCancelamento.NumeroCT ?? string.Empty;
                ug       = document.EmpenhoCancelamento.CodigoUnidadeGestora;
                gestao   = document.EmpenhoCancelamento.CodigoGestao;
                dist     = 70;
                break;

            case EnumTipoOperacaoEmpenho.Reforco:
            case EnumTipoOperacaoEmpenho.Empenho:
            default:
                numeroCt = document.Empenho.NumeroCT ?? string.Empty;
                ug       = document.Empenho.CodigoUnidadeGestora;
                gestao   = document.Empenho.CodigoGestao;
                dist     = 50;
                break;
            }

            var doc = new documento
            {
                UG                  = ug,
                Gestao              = gestao,
                NumeroCT            = numeroCt,
                Item                = document.EmpenhoItem.CodigoItemServico,
                Quantidade          = qtdConvertida.Key,
                QuantidadeDec       = qtdConvertida.Value,
                JustificativaPreco1 = acao == EnumAcaoSiaf.Alterar ? document.EmpenhoItem.DescricaoJustificativaPreco : ListaString(dist, document.EmpenhoItem.DescricaoJustificativaPreco, 2)[0],
                JustificativaPreco2 = acao == EnumAcaoSiaf.Alterar ? document.EmpenhoItem.DescricaoJustificativaPreco : ListaString(dist, document.EmpenhoItem.DescricaoJustificativaPreco, 2)[1],
            };

            switch (acao)
            {
            case EnumAcaoSiaf.Alterar:
                doc.Seq                  = document.EmpenhoItem.SequenciaItem.ToString();
                doc.ConfirmaPreco        = "S";
                doc.JustificativaItemNao = document.EmpenhoItem.DescricaoItemSiafem;
                doc.UnidadeFornecimento  = document.EmpenhoItem.CodigoUnidadeFornecimentoItem;
                doc.ValorParteInteira    = vlrInt.Replace(",", "");
                doc.ValorParteDecimal    = vlrDesc;

                siafdoc.SiafisicoDocAltDescCT = new SiafisicoDocAltDescCT();
                siafdoc.cdMsg = "SFCODocAltDescCT";
                siafdoc.SiafisicoDocAltDescCT.documento = doc;
                break;

            case EnumAcaoSiaf.Inserir:
            default:
                doc.UnidadeForn      = document.EmpenhoItem.CodigoUnidadeFornecimentoItem;
                doc.ValorUnitario    = vlrInt.Replace(",", "");
                doc.ValorUnitarioDec = vlrDesc;
                doc.Validademinimadoprodutonaentregade50porcento = "x";
                doc.Validademinimadoprodutonaentregade60porcento = " ";
                doc.Validademinimadoprodutonaentregade75porcento = " ";
                doc.Validademinimadoprodutonaentregade80porcento = " ";
                doc.Validademinimadoprodutonaentregavideedital   = " ";
                doc.Validademinimadoprodutonaentregaconformelegislacaovigentemedicamentomanipulado = " ";
                doc.JustificativaValorLancado1 = ListaString(dist, document.EmpenhoItem.DescricaoJustificativaPreco, 2)[0];
                doc.JustificativaValorLancado2 = ListaString(dist, document.EmpenhoItem.DescricaoJustificativaPreco, 2)[1];

                siafdoc.SiafisicoDocDescCT = new SiafisicoDocDescCT();
                siafdoc.cdMsg = "SFCOCTDESC001";
                siafdoc.SiafisicoDocDescCT.documento = doc;
                break;
            }

            return(siafdoc);
        }