Example #1
0
        private void ManterDadosBancarios(List <DadosBancariosVM> dadosBancarios, int solicitacaoCriacaoID,
                                          int contratanteID)
        {
            foreach (var item in dadosBancarios)
            {
                item.SolicitacaoID = solicitacaoCriacaoID;
                item.ContratanteID = contratanteID;

                var arquivoId = 0;
                if (string.IsNullOrEmpty(item.NomeArquivo))
                {
                    if (!String.IsNullOrEmpty(item.ArquivoSubido))
                    {
                        arquivoId = _fornecedorArquivoService.GravarArquivoSolicitacao(contratanteID, item.ArquivoSubido,
                                                                                       item.TipoArquivoSubido);
                    }
                }
                else
                {
                    if (!String.IsNullOrEmpty(item.ArquivoSubido))
                    {
                        arquivoId = _fornecedorArquivoService.SubstituirArquivoSolicitacaoBancario(contratanteID,
                                                                                                   (int)item.BancoSolicitacaoID, (int)item.ArquivoID, item.ArquivoSubido,
                                                                                                   item.TipoArquivoSubido, item.NomeArquivo);
                    }
                }


                if (!String.IsNullOrEmpty(item.ArquivoSubido))
                {
                    item.ArquivoID         = arquivoId;
                    item.NomeArquivo       = _fornecedorArquivoService.PegaNomeArquivoSubido(item.ArquivoSubido);
                    item.ArquivoSubido     = null;
                    item.TipoArquivoSubido = null;
                }
            }

            var solicitacoesModBancoMapeadas =
                Mapper.Map <List <DadosBancariosVM>, List <SolicitacaoModificacaoDadosBancario> >(dadosBancarios);

            _solicitacaoModificacaoDadosBancariosService.ManterBancoCadastroFornecedor(solicitacoesModBancoMapeadas,
                                                                                       solicitacaoCriacaoID);
        }
        private void AtualizarSolicitacaoDocumentos(FichaCadastralWebForLinkVM model, int tipoFluxoId, int solicitacaoId)
        {
            int usuarioId = (int)Geral.PegaAuthTicket("UsuarioId");
            List <SolicitacaoDeDocumentos> documentosList = new List <SolicitacaoDeDocumentos>();

            model.SolicitacaoFornecedor.Documentos
            .ForEach(x =>
            {
                SolicitacaoDeDocumentos solicitacaoDeDocumentosSolicitada = _solicitacaoDocumentoService.BuscarPorIdSolicitacaoIdDescricaoDocumento((int)x.SolicitacaoID, x.DescricaoDocumentoId);
                if (!string.IsNullOrEmpty(x.ArquivoSubido) && solicitacaoDeDocumentosSolicitada != null)
                {
                    int idSolicitacaoDocumento = solicitacaoDeDocumentosSolicitada.ID;
                    var arquivoId = _fornecedorArquivoService.GravarArquivoSolicitacao(model.ContratanteID, x.ArquivoSubido, x.TipoArquivoSubido);

                    SolicitacaoDeDocumentos solicitacaoDeDocumentos = new SolicitacaoDeDocumentos()
                    {
                        ID                     = idSolicitacaoDocumento,
                        ARQUIVO_ID             = arquivoId,
                        DATA_VENCIMENTO        = x.PorValidade != null ? ((bool)x.PorValidade ? x.DataValidade : null) : null,
                        SOLICITACAO_ID         = x.SolicitacaoID,
                        DESCRICAO_DOCUMENTO_ID = solicitacaoDeDocumentosSolicitada.DESCRICAO_DOCUMENTO_ID,
                        LISTA_DOCUMENTO_ID     = solicitacaoDeDocumentosSolicitada.LISTA_DOCUMENTO_ID
                    };
                    documentosList.Add(solicitacaoDeDocumentos);
                }
            });
            documentosList.ForEach(x =>
            {
                _solicitacaoDocumentoService.Update(x);
            });

            var papelAtual = _papelService.BuscarPorContratanteETipoPapel(model.ContratanteID, (int)EnumTiposPapel.Fornecedor).ID;

            var solDocumentos = _solicitacaoService.BuscarPorId(solicitacaoId);

            _tramiteService.AtualizarTramite(model.ContratanteID, solicitacaoId, solDocumentos.FLUXO_ID, papelAtual, 2, solDocumentos.USUARIO_ID);
        }
        public ActionResult Salvar(FichaCadastralWebForLinkVM model)
        {
            try
            {
                SOLICITACAO solicitacao = new SOLICITACAO();
                solicitacao.FLUXO_ID              = _fluxoService.BuscarPorTipoEContratante((int)EnumTiposFluxo.ModificacaoDadosBancarios, model.ContratanteID).ID;
                solicitacao.SOLICITACAO_DT_CRIA   = DateTime.Now;
                solicitacao.SOLICITACAO_STATUS_ID = (int)EnumStatusTramite.EmAprovacao; // EM APROVACAO
                solicitacao.USUARIO_ID            = (int)Geral.PegaAuthTicket("UsuarioId");
                solicitacao.PJPF_ID = model.ID;

                if (model.ContratanteID != 0)
                {
                    solicitacao.CONTRATANTE_ID = model.ContratanteID;
                }

                foreach (var item in model.DadosBancarios)
                {
                    item.SolicitacaoID = solicitacao.ID;
                    item.ContratanteID = solicitacao.CONTRATANTE_ID;
                    item.BancoPJPFID   = item.BancoPJPFID;

                    if (!string.IsNullOrEmpty(item.ArquivoSubido))
                    {
                        var arquivoId = _fornecedorArquivoService.GravarArquivoSolicitacao(solicitacao.CONTRATANTE_ID, item.ArquivoSubido, item.TipoArquivoSubido);
                        item.ArquivoID = arquivoId;
                    }
                }

                var solicitacoesModBanco = Mapper.Map <List <DadosBancariosVM>, List <SolicitacaoModificacaoDadosBancario> >(model.DadosBancarios.ToList());
                _solicitacaoBancoService.InserirSolicitacoes(solicitacoesModBanco, solicitacao);

                int usuarioId = (int)Geral.PegaAuthTicket("UsuarioId");
                iTramiteService.AtualizarTramite(solicitacao.CONTRATANTE_ID, solicitacao.ID, solicitacao.FLUXO_ID, (int)EnumPapeisWorkflow.Solicitante, (int)EnumStatusTramite.Aprovado, usuarioId);

                var dadosBancariosFinalizados = _fornecedorBancoService.BuscarPorContratantePJPFId(model.ContratanteFornecedorID);

                PersistirDadosBancoEmMemoria();

                string chaveUrl = "";

                if (model.ControllerOrigem == "Documento")
                {
                    chaveUrl = Cripto.Criptografar(String.Format("SolicitacaoID=0&FornecedorID={0}&ContratanteID={1}&RetSucessoBancos=1", model.PJPFID, model.ContratanteID), Key);
                }
                else if (model.ControllerOrigem == "Fornecedores")
                {
                    chaveUrl = Cripto.Criptografar(String.Format("FornecedorID={0}&ContratanteID={1}&RetSucessoBancos=1", model.PJPFID, model.ContratanteID), Key);
                }

                return(RedirectToAction(model.ActionOrigem, model.ControllerOrigem, new { chaveurl = chaveUrl }));
            }
            catch (Exception ex)
            {
                Log.Error(ex);
                string chaveUrl = "";

                if (model.ControllerOrigem == "Documento")
                {
                    chaveUrl = Cripto.Criptografar(String.Format("SolicitacaoID=0&FornecedorID={0}&ContratanteID={1}&RetSucessoBancos=-1", model.PJPFID, model.ContratanteID), Key);
                }
                else if (model.ControllerOrigem == "Fornecedores")
                {
                    chaveUrl = Cripto.Criptografar(String.Format("FornecedorID={0}&ContratanteID={1}&RetSucessoBancos=-1", model.PJPFID, model.ContratanteID), Key);
                }

                return(RedirectToAction(model.ActionOrigem, model.ControllerOrigem, new { chaveurl = chaveUrl }));
            }
        }