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); } }
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."); } }
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."); } }
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); } }
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); }