Exemple #1
0
        public static DocumentoViewModel Criar(Documento documento, bool carregarPaginas = false)
        {
            var documentoViewModel = new DocumentoViewModel
            {
                DocumentoId       = documento.Id,
                LoteId            = documento.Lote.Id,
                TipoId            = documento.TipoDocumento.Id,
                TipoDescricao     = documento.TipoDocumento.Description,
                TipoArquivo       = documento.TipoDeArquivo,
                Cpf               = documento.Cpf,
                Versao            = documento.Versao,
                MarcaDeNovaVersao = documento.Templates,
                Virtual           = documento.Virtual,
                CodigoDoPai       = documento.DocumentoPaiId,
                DataCaptura       = documento.Lote.PacoteProcessado.ArquivoRecebidoEm.GetValueOrDefault(),
                Excluido          = documento.Status == DocumentoStatus.Excluido,
                DocumentoPaiId    = documento.DocumentoPaiId
            };

            if (carregarPaginas)
            {
                documentoViewModel.Paginas = documento.ObterPaginasOrdenadas().ToList();
            }

            return(documentoViewModel);
        }
        public static DossieViewModel Criar(Processo processo, bool carregarDocumentos = false)
        {
            var dossie = new DossieViewModel
            {
                LoteId               = processo.Lote.Id,
                ProcessoId           = processo.Id,
                Identificacao        = processo.Identificacao,
                DataRegistro         = processo.Lote.DataCriacao,
                DataMovimento        = processo.Lote.PacoteProcessado != null ? processo.Lote.PacoteProcessado.ArquivoRecebidoEm : null,
                Status               = processo.Status.DisplayName,
                TempoDeProcessamento = processo.Lote.TempoProcessamento(),
                Caixa               = processo.Lote.Pacote.Identificacao,
                Folder              = processo.Lote.DossieEsperado.CodigoDeBarras,
                Tipo                = processo.TipoDeProcesso.Descricao,
                TipoId              = processo.TipoDeProcesso.Id,
                Documentos          = new List <DocumentoViewModel>(),
                PodeEditar          = processo.Status == ProcessoStatus.Finalizado || processo.Status == ProcessoStatus.AguardandoExportacao || processo.Lote.Status == LoteStatus.Faturamento || processo.Lote.Status == LoteStatus.Finalizado,
                ColetaId            = processo.Lote.Pacote.ColetaId,
                LotecefId           = processo.Lote.LoteCef == null ? 0 : processo.Lote.LoteCef.Id,
                LotecefData         = processo.Lote.LoteCef == null ? string.Empty : (processo.Lote.LoteCef.DataFim == null ? string.Empty : processo.Lote.LoteCef.DataFim.Value.ToString("dd/MM/yyyy")),
                LotecefFaturado     = processo.Lote.LoteCef == null ? string.Empty : (processo.Lote.LoteCef.DataAssinaturaCertificado == null ? string.Empty : processo.Lote.LoteCef.DataAssinaturaCertificado.Value.ToString("dd/MM/yyyy")),
                UltimaOcorrenciaObs = processo.Lote.DossieEsperado.UltimaOcorrencia == null ? string.Empty : processo.Lote.DossieEsperado.UltimaOcorrencia.Observacao
            };

            if (processo.Status == ProcessoStatus.AguardandoTransmissao || processo.Status == ProcessoStatus.AguardandoAjuste)
            {
                dossie.Status = processo.Lote.Status.DisplayName;
            }

            if (carregarDocumentos)
            {
                foreach (var documento in processo.Documentos)
                {
                    dossie.Documentos.Add(DocumentoViewModel.Criar(documento));
                }

                var documentosPdfMarcados = dossie.Documentos.Where(x =>
                                                                    x.TipoId == TipoDocumento.CodigoDossiePdf &&
                                                                    x.MarcaDeNovaVersao == Documento.SimboloEngrenagem);

                if (documentosPdfMarcados.Any())
                {
                    var pdfMarcado = documentosPdfMarcados.OrderBy(x => x.DocumentoId).Last();

                    var novoPdf = new DocumentoViewModel
                    {
                        DocumentoId   = -1,
                        TipoArquivo   = pdfMarcado.TipoArquivo,
                        TipoDescricao = pdfMarcado.TipoDescricao,
                        TipoId        = pdfMarcado.TipoId,
                        Versao        = (pdfMarcado.Versao.ToInt() + 1).ToString()
                    };

                    dossie.Documentos.Add(novoPdf);
                }
            }

            return(dossie);
        }
Exemple #3
0
        public static IList <DocumentoViewModel> CriarPorLista(IList <Documento> documentos)
        {
            var lista = new List <DocumentoViewModel>();

            foreach (var documento in documentos)
            {
                lista.Add(DocumentoViewModel.Criar(documento));
            }

            return(lista);
        }