Example #1
0
        public string InserirNotaCreditoSiafem(string login, string senha, ref MovimentacaoNotaDeCredito objModel, string unidadeGestora)
        {
            try
            {
                var dtoSiafdoc = new DocumentoNotaDeCredito
                {
                    NotaDeCredito = objModel,
                    Programa      = _programa.Fetch(new Programa {
                        Codigo = objModel.IdPrograma
                    }).FirstOrDefault(),
                    Estutura = _estutura.Fetch(new Estrutura {
                        Codigo = objModel.IdEstrutura
                    }).FirstOrDefault()
                };

                var siafdoc = GerarSiafdocNotaDeCredito(dtoSiafdoc, objModel);

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

                return(ReturnMessageWithStatusForSiafemServiceNC(response));
            }
            catch (Exception e)
            {
                HttpContext.Current.Session["xml"]       = HttpContext.Current.Session["xmlSiafem"];
                HttpContext.Current.Session["xmlSiafem"] = "";
                throw new SidsException(e.Message);
            }
        }
Example #2
0
 private static IEnumerable <string> FetchObservationsNc(DocumentoNotaDeCredito document)
 {
     return(new List <string> {
         document.NotaDeCredito.Observacao?.NormalizeForService(),
         document.NotaDeCredito.Observacao2?.NormalizeForService(),
         document.NotaDeCredito.Observacao3?.NormalizeForService()
     });
 }
Example #3
0
        private static SIAFDOC GerarSiafdocNotaDeCredito(DocumentoNotaDeCredito dtoSiafdoc, MovimentacaoNotaDeCredito mov)
        {
            var siafDoc = new SIAFDOC
            {
                cdMsg       = "SIAFNC001",
                SiafemDocNC = new SiafemDocNC()
            };

            var doc = new documentoNC
            {
                DataEmissao      = DateTime.Now.ToString("ddMMMyyyy").ToUpper(), //data atual
                UGEmitente       = dtoSiafdoc.NotaDeCredito.UnidadeGestoraEmitente,
                GestaoEmitente   = dtoSiafdoc.NotaDeCredito.GestaoEmitente,
                UGFavorecida     = dtoSiafdoc.NotaDeCredito.UnidadeGestoraFavorecida,
                GestaoFavorecida = dtoSiafdoc.NotaDeCredito.GestaoFavorecida,
                Evento           = dtoSiafdoc.NotaDeCredito.EventoNC
            };

            var celula = new SiafemDocCelula
            {
                Repeticao = new Model.ValueObject.Service.Siafem.Movimentacao.Repeticao
                {
                    desc = new des2
                    {
                        Id              = "1",
                        UO              = dtoSiafdoc.NotaDeCredito.Uo,
                        PT              = dtoSiafdoc.Programa.Cfp.PadRight(17, '0'),
                        Fonte           = mov.FonteRecurso,
                        NaturezaDespesa = dtoSiafdoc.Estutura.Natureza,
                        UGO             = dtoSiafdoc.NotaDeCredito.Ugo,
                        PlanoInterno    = string.IsNullOrEmpty(dtoSiafdoc.NotaDeCredito.PlanoInterno) ? string.Empty : dtoSiafdoc.NotaDeCredito.PlanoInterno,
                        Valor           = ((int)(dtoSiafdoc.NotaDeCredito.Valor * 100)).ToString()
                    }
                }
            };

            var observacao = new Model.ValueObject.Service.Siafem.Movimentacao.Observacao
            {
                Repeticao = new Model.ValueObject.Service.Siafem.Movimentacao.Repeticao
                {
                    obs = FetchObservationsNc(dtoSiafdoc)
                          .Where(w => !string.IsNullOrWhiteSpace(w)).Select(s => new Model.ValueObject.Service.Siafem.Movimentacao.obs
                    {
                        Id         = s,
                        Observacao = string.IsNullOrWhiteSpace(s) ? string.Empty : s
                    }).ToList()
                }
            };

            siafDoc.SiafemDocNC.documento  = doc;
            siafDoc.SiafemDocNC.celula     = celula;
            siafDoc.SiafemDocNC.observacao = observacao;

            return(siafDoc);
        }