Example #1
0
        public string InserirReservaCancelamento(string login, string senha, IReserva cancelamento, List <ReservaCancelamentoMes> mes, string unidadeGestora)
        {
            try
            {
                var dtoSiafdoc = new DtoSiafdoc
                {
                    Reserva  = cancelamento,
                    Programa = _programa.Buscar(new Programa {
                        Codigo = (int)cancelamento.Programa
                    }).FirstOrDefault(),
                    Fonte = _fonte.Buscar(new Fonte {
                        Id = (int)cancelamento.Fonte
                    }).FirstOrDefault(),
                    Estutura = _estutura.Buscar(new Estrutura {
                        Codigo = (int)cancelamento.Estrutura
                    }).FirstOrDefault(),
                    ValorMes = mes.Cast <IMes>()
                };


                var siafdoc = GerarSiafemDocCanNR(dtoSiafdoc);

                var    result = _siafemService.InserirCancelamentoReserva(login, senha, unidadeGestora, siafdoc);
                string 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 Exception("SIAFEM - " + messagemErro[0].InnerText);
                }

                return(numeroNr[0].InnerText);
            }
            catch (Exception e)
            {
                HttpContext.Current.Session["xml"]       = HttpContext.Current.Session["xmlSiafem"];
                HttpContext.Current.Session["xmlSiafem"] = "";
                throw new Exception(e.Message);
            }
        }
Example #2
0
        private static SIAFDOC GerarSiafemDocCanNR(DtoSiafdoc dtoSiafdoc)
        {
            var listObs = dtoSiafdoc.Reserva.Observacao.Split(';').ToList();

            var SIAFDOC = new SIAFDOC
            {
                cdMsg          = "SIAFCanNR",
                SiafemDocCanNR = new SiafemDocCanNR
                {
                    documento = new documento
                    {
                        DataEmissao     = dtoSiafdoc.Reserva.DataEmissao.ToString("ddMMMyyyy").ToUpper(),
                        UnidadeGestora  = dtoSiafdoc.Reserva.Ugo,
                        Gestao          = dtoSiafdoc.Reserva.Uo,
                        PTRes           = dtoSiafdoc.Programa.Ptres.ToString(),
                        Processo        = dtoSiafdoc.Reserva.Processo,
                        UO              = dtoSiafdoc.Reserva.Uo,
                        PT              = dtoSiafdoc.Programa.Cfp + "0000",
                        Fonte           = dtoSiafdoc.Fonte.Codigo,
                        NaturezaDespesa = dtoSiafdoc.Estutura.Natureza.ToString(),
                        UGO             = dtoSiafdoc.Reserva.Ugo,
                        PlanoInterno    = "",
                        Valor           = dtoSiafdoc.ValorMes.Sum(x => x.ValorMes).ToString(CultureInfo.InvariantCulture)
                    },
                    cronograma = new cronograma
                    {
                        Repeticao = new Repeticao
                        {
                            desc = dtoSiafdoc.ValorMes.Select(x => new desc
                            {
                                Mes   = x.Descricao,
                                Valor = x.ValorMes.ToString(CultureInfo.InvariantCulture)
                            }).ToList(),
                        }
                    },
                    observacao = new observacao
                    {
                        Repeticao = new Repeticao
                        {
                            obs = listObs.Select(x => new obs
                            {
                                Observacao = removerAcentos(x.ToString())
                            }).ToList()
                        }
                    }
                }
            };

            return(SIAFDOC);
        }
Example #3
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);
        }
Example #4
0
        public string InserirReservaSiafisico(string login, string senha, IReserva reserva, List <IMes> mes, string unidadeGestora)
        {
            try
            {
                var dtoSiafdoc = new DtoSiafdoc
                {
                    Reserva  = reserva,
                    ValorMes = mes
                };

                var siafdoc = GerarSfcodoc(dtoSiafdoc);

                var    result = _siafemService.InserirReservaSiafisico(login, senha, unidadeGestora, siafdoc);
                string root   = false.ToString();
                var    xm     = ConverterXml(result);

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

                var messagem = xm.GetElementsByTagName("MsgErro");

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

                if (!bool.Parse(root))
                {
                    throw new Exception("SIAFISICO - " + messagem[0].FirstChild.Value);
                }

                return(xm.GetElementsByTagName("NumeroNR")[0].FirstChild.Value);
            }
            catch (Exception e)
            {
                HttpContext.Current.Session["xml"]       = HttpContext.Current.Session["xmlSiafem"];
                HttpContext.Current.Session["xmlSiafem"] = "";
                throw new Exception(e.Message);
            }
        }