private SOLICITACAO CriarSolicitacaoDocumentos(FichaCadastralWebForLinkVM model, int tipoFluxoId)
        {
            var solicitacao = new SOLICITACAO
            {
                CONTRATANTE_ID        = model.ContratanteID,
                FLUXO_ID              = _fluxoService.BuscarPorTipoEContratante(tipoFluxoId, model.ContratanteID).ID,
                USUARIO_ID            = (int)Geral.PegaAuthTicket("UsuarioId"),
                SOLICITACAO_STATUS_ID = (int)EnumStatusTramite.Aguardando,
                PJPF_ID = model.PJPFID,
            };

            List <SolicitacaoDeDocumentos> documentosList = new List <SolicitacaoDeDocumentos>();

            model.SolicitacaoFornecedor.Documentos
            .ForEach(x =>
            {
                if (!string.IsNullOrEmpty(x.ArquivoSubido))
                {
                    var arquivoId = _fornecedorArquivoService.GravarArquivoSolicitacao(model.ContratanteID, x.ArquivoSubido, x.TipoArquivoSubido);

                    SolicitacaoDeDocumentos solicitacaoDeDocumentos = new SolicitacaoDeDocumentos()
                    {
                        DATA_UPLOAD            = DateTime.Now,
                        NOME_ARQUIVO           = _fornecedorArquivoService.PegaNomeArquivoSubido(x.ArquivoSubido),
                        EXTENSAO_ARQUIVO       = x.TipoArquivoSubido,
                        ARQUIVO_ID             = arquivoId,
                        DATA_VENCIMENTO        = x.PorValidade != null ? ((bool)x.PorValidade ? x.DataValidade : null) : null,
                        DESCRICAO_DOCUMENTO_ID = x.DescricaoDocumentoId,
                        LISTA_DOCUMENTO_ID     = x.ListaDocumentosID
                    };
                    documentosList.Add(solicitacaoDeDocumentos);
                }
            });

            SOLICITACAO soldocumentos = _solicitacaoService.InserirSolicitacaoDocumentos(solicitacao, documentosList);

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

            _tramiteService.AtualizarTramite(model.ContratanteID, soldocumentos.ID, soldocumentos.FLUXO_ID, papelAtual, 2, soldocumentos.USUARIO_ID);
            return(soldocumentos);
        }
        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);
        }