public ActionResult Transmitir(List <ConfirmacaoPagamento> confirmarPagamento, int id)
        {
            // está salvando no método ListarPagamentosTransmitir que chama este


            string verificaNumeroGerador = string.Empty;

            try
            {
                App.ConfirmacaoPagamentoService.Transmitir(id, _userLoggedIn, _funcId ?? 0);

                ////Transmitir confirmação Prodesp
                //Model.Entity.Seguranca.Regional orgao = new Model.Entity.Seguranca.Regional();

                //foreach (var confirmacao in confirmarPagamento.OrderBy(p => p.NumeroDocumentoItem))
                //{

                //    if (confirmacao.FonteLista == string.Empty || confirmacao.FonteLista == null)
                //    {

                //        if (confirmacao.NumeroDocumentoItem.Substring(0, 17) != verificaNumeroGerador)
                //        {

                //            ConfirmacaoPagamento confirmarPagamentoUnico = new ConfirmacaoPagamento();
                //            confirmarPagamentoUnico.Senha = confirmacao.Senha;
                //            confirmarPagamentoUnico.Chave = confirmacao.Chave;
                //            confirmarPagamentoUnico.DataConfirmacao = confirmacao.DataConfirmacao;
                //            confirmarPagamentoUnico.AnoReferencia = confirmacao.AnoReferencia;
                //            confirmarPagamentoUnico.IdTipoDocumento = Convert.ToInt16(confirmacao.NumeroDocumentoItem.Substring(0, 2));
                //            confirmarPagamentoUnico.NumeroOP = confirmacao.NumeroOP;
                //            confirmarPagamentoUnico.TipoPagamento = confirmacao.TipoPagamento;
                //            orgao.Id = Convert.ToInt16(confirmacao.NumeroOP.Substring(2, 2));

                //            var result = DataHelperProdespPagamentoContaUnica.Procedure_ConfirmacaoPagtoOPApoio(confirmacao.Chave, confirmacao.Senha, confirmarPagamentoUnico, orgao);

                //            verificaNumeroGerador = confirmacao.NumeroDocumentoItem.Substring(0, 17);


                //            if (result[0].outErro == "" || result[0].outErro == null)
                //            {
                //                confirmarPagamentoUnico.DataTransmitidoProdesp = DateTime.Now;
                //                confirmarPagamentoUnico.StatusProdesp = "S";
                //                confirmarPagamentoUnico.TransmitidoProdesp = true;
                //                confirmarPagamentoUnico.NumeroDocumento = confirmacao.NumeroDocumento;
                //                confirmarPagamentoUnico.id_confirmacao_pagamento = id;
                //                confirmarPagamentoUnico.NumeroDocumentoItem = confirmacao.NumeroDocumentoItem;
                //            }
                //            else
                //            {
                //                confirmarPagamentoUnico.DataTransmitidoProdesp = DateTime.Now;
                //                confirmarPagamentoUnico.StatusProdesp = "E";
                //                confirmarPagamentoUnico.TransmitidoProdesp = false;
                //                confirmarPagamentoUnico.NumeroDocumento = confirmacao.NumeroDocumento;
                //                confirmarPagamentoUnico.id_confirmacao_pagamento = id;
                //                confirmarPagamentoUnico.MensagemServicoProdesp = result[0].outErro;

                //                confirmarPagamentoUnico.NumeroDocumentoItem = confirmacao.NumeroDocumentoItem;
                //            }

                //            var update = App.ConfirmacaoPagamentoService.AtualizarPagamento(confirmarPagamentoUnico);

                //        }

                //    }
                //}

                // gerar notas somente se confirmação foi transmitida?
                // EnumAcao acao = viewModel.Id > 0 ? EnumAcao.Alterar : EnumAcao.Inserir;
                // App.NotaDeLancamentoService.GerarNotasLancamento(confirmacaoSalva, _userLoggedIn, viewModel.TransmitirSiafem, _funcId.Value, acao);
                // id = confirmacaoSalva.Id;
                // Para fazer testes depois precisa arrancar(Rodrigo)
                App.ParametrizacaoFormaGerarNlService.GerarNl(id, new ConfirmacaoPagamento(), _userLoggedIn, RegionalList.ToList());

                return(Json(new { Status = "Sucesso", id = id }));
            }
            catch (Exception ex)
            {
                string status = "";
                status = "Falha Transmissão Confirmação de Pagamento Prodesp";
                return(Json(new { Status = status }));
            }
        }
 internal void gerarNL(int retorno_Id_Confirmacao_Pagamento)
 {
     // ajuste gerarNL - rafael magna sistemas out 2018
     App.ParametrizacaoFormaGerarNlService.GerarNl(retorno_Id_Confirmacao_Pagamento, new ConfirmacaoPagamento(), _userLoggedIn, RegionalList.ToList());
 }
        public ActionResult Transmitir(List <ConfirmacaoPagamento> confirmarPagamento, int id, bool transmitirNls, bool transmitirSiafem)
        {
            // está salvando no método ListarPagamentosTransmitir que chama este

            ResultadoOperacaoVo resultVo = new ResultadoOperacaoVo();

            resultVo.Id = id;

            try
            {
                var todosTransmitidos = App.ConfirmacaoPagamentoService.Transmitir(id, _userLoggedIn, _funcId ?? 0);

                if (todosTransmitidos)
                {
                    App.ParametrizacaoFormaGerarNlService.GerarNl(id, new ConfirmacaoPagamento(), _userLoggedIn, RegionalList.ToList(), transmitirNls);

                    resultVo.Sucesso  = true;
                    resultVo.Mensagem = "Pagamentos confirmados com sucesso!";
                }
            }
            catch (Exception ex)
            {
                resultVo.Sucesso  = false;
                resultVo.Mensagem = "Falha Transmissão Confirmação de Pagamento Prodesp";
            }

            return(Json(resultVo));
        }