public ActionResult EditarAto(long?Id)
        {
            try
            {
                if (Id.HasValue)
                {
                    Ato Ato = this.UfwCartNew.Repositories.GenericRepository <Ato>().GetById(Id);
                    if (Ato == null)
                    {
                        return(new HttpStatusCodeResult(HttpStatusCode.NotFound));
                    }
                    //else if (Ato.Bloqueado == true)
                    //{
                    //    return new HttpStatusCodeResult(HttpStatusCode.BadRequest, "Não é possível editar um ato já bloqueado.");
                    //}
                    AtoViewModel atoViewModel = new AtoViewModel()
                    {
                        Id = Id,
                        NumSequenciaAto = Ato.NumSequenciaAto
                    };

                    return(View(atoViewModel));
                }
                else
                {
                    return(new HttpStatusCodeResult(HttpStatusCode.NotFound));
                }
            }
            catch (Exception ex)
            {
                TypeInfo t = this.GetType().GetTypeInfo();
                IOFunctions.GerarLogErro(t, ex);
                return(RedirectToAction("InternalServerError", "Adm", new { excecao = ex }));
            }
        }
        public ActionResult NovoAto(AtoViewModel modelo)
        {
            DtoExecProc  execProc   = new DtoExecProc();
            DtoAto       ato        = new DtoAto();
            List <Livro> listaLivro = this.UfwCartNew.Repositories.GenericRepository <Livro>().Get().ToList();

            ViewBag.listaLivro = new SelectList(listaLivro, "Id", "Descricao");

            //povoar tree view
            List <TipoAtoList> listaTipoAto = this.UfwCartNew.Repositories.RepositoryTipoAto.ListaTipoAtos(null).ToList();

            ViewBag.listaTipoAto = listaTipoAto;

            ViewBag.listaModelosDocx = new SelectList(
                new[] { new { IdModeloDoc = "0", NomeModelo = "Selecione um modelo" } },
                "IdModeloDoc",
                "NomeModelo"
                );

            if (ModelState.IsValid)
            {
                execProc = this.InsertOrUpdateAto(ato);
            }

            return(View(modelo));
        }
        public ActionResult NovoAto()
        {
            var dados = new AtoViewModel();

            dados.IdCtaAcessoSist = this.IdCtaAcessoSist;
            dados.IdLivro         = 1;
            dados.FolhaFicha      = TipoFolhaFicha.Indefinido;
            dados.Ativo           = true;
            dados.Pessoas.Add(new PESSOAViewModel {
                IdPessoa   = 1,
                TipoPessoa = "Outorgante",
                NOM        = "João de Teste",
                ENDER      = "Rua XYZ, Nro. 123 Bairro Centro do Mundo"
            });

            List <Livro> listaLivro = this.UfwCartNew.Repositories.GenericRepository <Livro>().Get().ToList();

            ViewBag.listaLivro = new SelectList(listaLivro, "Id", "Descricao");

            //povoar tree view
            List <TipoAtoList> listaTipoAto = this.UfwCartNew.Repositories.RepositoryTipoAto.ListaTipoAtos(null).ToList();

            ViewBag.listaTipoAto = listaTipoAto;

            ViewBag.listaModelosDocx = new SelectList(
                new[] { new { IdModeloDoc = "0", NomeModelo = "Selecione um modelo" } },
                "IdModeloDoc",
                "NomeModelo"
                );

            return(View(dados));
        }
        public JsonResult InsertOrUpdateAtoAjax(AtoViewModel modelo)
        {
            DtoAto      ato                = new DtoAto();
            DtoExecProc execProc           = new DtoExecProc();
            List <DtoModeloDocxList> lista = new List <DtoModeloDocxList>();


            execProc = this.InsertOrUpdateAto(ato);

            var resultado = new
            {
                resposta = execProc.Resposta,
                msg      = execProc.Msg,
                execute  = execProc
            };

            return(Json(resultado));
        }
        public ActionResult EditarAto(AtoViewModel modelo)
        {
            string filePath         = Server.MapPath($"~/App_Data/Arquivos/AtosPendentes/{modelo.NumMatricula}_pendente.docx");
            bool   respEscreverWord = false;

            try
            {
                if (modelo.Id == null)
                {
                    ViewBag.erro = "O Ato é obrigatório";
                    return(View(nameof(EditarAto), modelo));
                }

                //todo: ronaldo arrumar ato editar
                //Ajusta a string de ato
                //modelo.Id = RemoveUltimaMarcacao(modelo.Id);

                if (ModelState.IsValid)
                {
                    //Representa o documento e o numero de pagina
                    //DtoCadastroDeAto modeloDto = Mapper.Map<AtoViewModel, DtoCadastroDeAto>(modelo);
                    long?numSequenciaAto = null;

                    if (modelo.NumSequenciaAto == 0 && modelo.IdTipoAto != (int)TipoAtoEnum.AtoInicial)
                    {
                        numSequenciaAto = this.UfwCartNew.Repositories.RepositoryAto.GetNumSequenciaAto(modelo.NumMatricula);
                        numSequenciaAto = numSequenciaAto != null ? numSequenciaAto : 1;
                    }
                    else
                    {
                        numSequenciaAto = modelo.NumSequenciaAto;
                    }

                    //using (var appService = new AppServiceCadastroDeAto(this.UnitOfWorkDataBaseCartorio, this.UnitOfWorkDataBaseCartNew))
                    //{

                    //    respEscreverWord = appService.EscreverAtoNoWord(modeloDto, filePath, Convert.ToInt64(numSequenciaAto));
                    //}

                    if (respEscreverWord)
                    {
                        // Gravar no banco o array de bytes
                        var arrayBytesNovo = System.IO.File.ReadAllBytes(filePath);

                        // Gravar o ato e buscar o selo e gravar o selo
                        using (var appService = new AppServiceAtos(this.UfwCartNew, this.IdCtaAcessoSist))
                        {
                            //var dtoEditar = Mapper.Map<AtoViewModel, DtoCadastroDeAto>(modelo);

                            //var resultado = appService.EditarAto(dtoEditar, this.UsuarioAtual.Id);

                            //if (resultado)
                            //{
                            //    this.UnitOfWorkDataBaseCartNew.SaveChanges();
                            //}
                            //else
                            //{
                            //    return new HttpStatusCodeResult(HttpStatusCode.InternalServerError);
                            //}
                        }
                    }
                    else
                    {
                        //Teve algum erro ao escrever o documento no WORD
                        return(new HttpStatusCodeResult(HttpStatusCode.InternalServerError));
                    }
                    //ViewBag.sucesso = "Ato cadastrado com sucesso!";
                    return(RedirectToActionPermanent(nameof(BloquearAto), new { modelo.Id }));
                }

                ViewBag.erro = "Erro ao cadastrar o ato!";

                return(View(nameof(EditarAto), modelo));
            }
            catch (Exception ex)
            {
                TypeInfo t = this.GetType().GetTypeInfo();
                IOFunctions.GerarLogErro(t, ex);
                return(new HttpStatusCodeResult(HttpStatusCode.InternalServerError));

                throw;
            }
        }