public void Salvar([FromBody]IEnumerable<IndexacaoViewModel> indexacaoModel)
        {
            var tipodocumentoId = indexacaoModel.First().TipoDocumentoId;
            var tipoDocumento = this.tipoDocumentoRepositorio.ObterPorId(tipodocumentoId);
            var documento = new Documento
            {
                Assunto = tipoDocumento.Nome,
                Bloqueado = false,
                DataCriacao = DateTime.Now,
                EhIndice = false,
                EhPreIndexacao = true,
                SearchStatus = SearchStatus.ToIndex,
                TipoDocumento = tipoDocumento,
                Usuario = this.sessaoDoUsuario.UsuarioAtual
            };

            this.documentoRepositorio.Salvar(documento);

            foreach (var index in indexacaoModel)
            {
                var indexacao = new Indexacao();
                indexacao.Chave = new Chave { Id = index.CampoId };
                indexacao.Documento = documento;
                indexacao.Valor = index.Valor;

                this.indexacaoRepositorio.Salvar(indexacao);
            }

            this.logarAcaoSistema.Execute(
              TipoTrilha.Criacao,
              "Preindexacao de documento",
              "Documento foi criado #" + documento.Id);
        }
Exemple #2
0
        public void Salvar([FromBody]IEnumerable<IndexacaoViewModel> indexacaoModel)
        {
            int documentoId = 0;

            foreach (var index in indexacaoModel)
            {
                var indexacao = new Indexacao();
                indexacao.Chave = new Chave { Id = index.CampoId };
                indexacao.Documento = new Documento { Id = index.DocumentoId };
                indexacao.Valor = index.Valor;
                documentoId = index.DocumentoId;

                this.indexacaoRepositorio.Salvar(indexacao);
            }

            var documento = this.documentoRepositorio.ObterPorIdComTipoDocumentoEIndexacoes(documentoId);
            this.indexEngine.Index(documento, documento.Indexacao);
            this.documentoRepositorio.AlterStatus(documentoId, SearchStatus.Indexed);

            this.logarAcaoSistema.Execute(
              TipoTrilha.Criacao,
              "Indexação de Documento",
              "Documento foi indexado #" + documentoId);
        }