// GET: Modelo/Editar/{ID}
        public ActionResult EditarModelo(long?Id)
        {
            if (Id.HasValue && Id > 0)
            {
                try
                {
                    ///povoar tree view
                    List <TipoAtoList> listaTipoAto = this.UfwCartNew.Repositories.RepositoryTipoAto.ListaTipoAtos(null).ToList();
                    ViewBag.listaTipoAto = listaTipoAto; // new SelectList(listaTipoAto, "Id", "Descricao");

                    ModeloDoc           modeloDocx          = this.UfwCartNew.Repositories.RepositoryModeloDocx.GetById(Id);
                    ModeloDocxViewModel modeloDocxViewModel = Mapper.Map <ModeloDoc, ModeloDocxViewModel>(modeloDocx);
                    modeloDocxViewModel.DescricaoTipoAto = this.UfwCartNew.Repositories.RepositoryTipoAto.Get().Where(t => t.Id == modeloDocx.IdTipoAto).FirstOrDefault().Descricao;

                    if (modeloDocxViewModel == null)
                    {
                        return(new HttpStatusCodeResult(HttpStatusCode.NotFound));
                    }

                    return(View(modeloDocxViewModel));
                }
                catch (Exception)
                {
                    //System.Diagnostics.Debug.WriteLine(ex.Message);
                    return(new HttpStatusCodeResult(HttpStatusCode.InternalServerError));
                }
            }
            else
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
        }
        public ActionResult EditarModelo(ModeloDocxViewModel modeloDocxViewModel)
        {
            try
            {
                List <TipoAtoList> listaTipoAto = this.UfwCartNew.Repositories.RepositoryTipoAto.ListaTipoAtos(null).ToList();
                ViewBag.listaTipoAto = listaTipoAto; // new SelectList(listaTipoAto, "Id", "Descricao");

                if (ModelState.IsValid)
                {
                    // Fazendo Upload do arquivo
                    using (var appService = new AppServiceModelosDoc(this.UfwCartNew, this.IdCtaAcessoSist))
                    {
                        appService.EditarModelo(new DtoModeloDoc()
                        {
                            Id = modeloDocxViewModel.Id,
                            IdCtaAcessoSist        = this.IdCtaAcessoSist,
                            IdTipoAto              = modeloDocxViewModel.IdTipoAto,
                            CaminhoEArquivo        = modeloDocxViewModel.CaminhoEArquivo, // Path.Combine(Server.MapPath("~/App_Data/Arquivos/Modelos/"), NovoId.ToString() + ".docx"),
                            ArquivoDocxModelo      = modeloDocxViewModel.ArquivoDocxModelo,
                            DescricaoModelo        = modeloDocxViewModel.DescricaoModelo,
                            IpLocal                = modeloDocxViewModel.IpLocal,
                            UsuarioSistOperacional = System.Security.Principal.WindowsIdentity.GetCurrent().Name,
                            Ativo = modeloDocxViewModel.Ativo
                        }, UsuarioAtual.Id);
                    }

                    //UploadArquivo(arquivoModeloDocxViewModel);

                    //ViewBag.resultado = "Arquivo salvo com sucesso!";
                    return(RedirectToActionPermanent(nameof(IndexModelo)));
                }
                return(View(modeloDocxViewModel));
            }
            catch (Exception ex)
            {
                TypeInfo t = this.GetType().GetTypeInfo();
                IOFunctions.GerarLogErro(t, ex);
                return(new HttpStatusCodeResult(HttpStatusCode.InternalServerError));
            }
        }
        // GET: Modelo/Novo
        public ActionResult NovoModelo()
        {
            try
            {
                List <TipoAtoList> listaTipoAto = this.UfwCartNew.Repositories.RepositoryTipoAto.ListaTipoAtos(null).ToList();
                ViewBag.listaTipoAto = listaTipoAto; // new SelectList(listaTipoAto, "Id", "Descricao");

                ModeloDocxViewModel model = new ModeloDocxViewModel();
                model.IdCtaAcessoSist   = this.IdCtaAcessoSist;
                model.IdUsuarioCadastro = this.UsuarioAtual.Id;
                model.DescricaoTipoAto  = "";

                return(View(model));
            }
            catch (Exception ex)
            {
                TypeInfo t = this.GetType().GetTypeInfo();
                IOFunctions.GerarLogErro(t, ex);

                return(new HttpStatusCodeResult(HttpStatusCode.InternalServerError));
            }
        }
        public ActionResult NovoModelo([Bind(Include = "Id,IdCtaAcessoSist,IdTipoAto,IdUsuarioCadastro,IdUsuarioAlteracao,DataCadastro,DataAlteracao,DescricaoModelo," +
                                                       "DescricaoTipoAto,ArquivoDocxModelo,CaminhoEArquivo,Ativo,IpLocal")] ModeloDocxViewModel modeloDocxViewModel)
        {
            bool   ControllerModelValid = ModelState.IsValid;
            bool   success = false;
            string msg     = "";
            long?  NovoId;

            try
            {
                List <TipoAtoList> listaTipoAto = this.UfwCartNew.Repositories.RepositoryTipoAto.ListaTipoAtos(null).ToList();
                ViewBag.listaTipoAto = listaTipoAto;

                if (ControllerModelValid)
                {
                    string filePath = string.Empty;
                    modeloDocxViewModel.CaminhoEArquivo = Server.MapPath("~/App_Data/Arquivos/Modelos/");

                    using (AppServiceModelosDoc appService = new AppServiceModelosDoc(this.UfwCartNew, this.IdCtaAcessoSist))
                    {
                        NovoId = appService.NovoModelo(
                            new DtoModeloDoc()
                        {
                            IdCtaAcessoSist        = this.IdCtaAcessoSist,
                            IdTipoAto              = modeloDocxViewModel.IdTipoAto,
                            CaminhoEArquivo        = modeloDocxViewModel.CaminhoEArquivo, // Path.Combine(Server.MapPath("~/App_Data/Arquivos/Modelos/"), NovoId.ToString() + ".docx"),
                            ArquivoDocxModelo      = modeloDocxViewModel.ArquivoDocxModelo,
                            DescricaoModelo        = modeloDocxViewModel.DescricaoModelo,
                            UsuarioSistOperacional = System.Security.Principal.WindowsIdentity.GetCurrent().Name,
                            IpLocal = modeloDocxViewModel.IpLocal,
                            Ativo   = true
                        },
                            this.UsuarioAtual.Id
                            );
                    }

                    if (modeloDocxViewModel.ArquivoDocxModelo != null && modeloDocxViewModel.ArquivoDocxModelo.ContentLength > 0)
                    {
                        //Pega os dados do arquivo
                        HttpPostedFileBase arquivo = modeloDocxViewModel.ArquivoDocxModelo;

                        //arquivo.FileName = "Mod_"+arquivoModel.DescricaoTipoAto+DateTime.Now.ToString("yyyyMMddTHHmmss")
                        var nomeArquivo = Path.GetFileNameWithoutExtension(arquivo.FileName);

                        // Salva o arquivo fisicamente
                        filePath = Path.Combine(modeloDocxViewModel.CaminhoEArquivo, "modelo_" + NovoId.ToString() + ".docx");
                        arquivo.SaveAs(filePath);
                    }

                    //ModelState.AddModelError(Guid.NewGuid().ToString(), "Erro generico");
                    msg     = "Modelo adicionado com sucesso!";
                    success = true;
                }
            }
            catch (Exception ex)
            {
                msg = "Não foi possível salvar! [" + ex.Message + "]";
                ModelState.AddModelError(Guid.NewGuid().ToString(), msg);
                //System.Diagnostics.Debug.WriteLine("ArquivosController Exception: " + ex.Message);
                //return new HttpStatusCodeResult(HttpStatusCode.InternalServerError);
                //return RedirectToAction("InternalServerError", "Adm", new { excecao = ex });
            }

            //var resultado = new
            //{
            //    success = success,
            //    mensagem = msg
            //};

            //return Json(resultado, JsonRequestBehavior.AllowGet);
            ViewBag.success = success ? "true" : "false";
            ViewBag.ControllerModelValid = ControllerModelValid ? "true" : "false";
            ViewBag.msg = msg;

            return(View(modeloDocxViewModel));
        }
 public PartialViewResult PartialFormModeloDoc(ModeloDocxViewModel modeloDocxViewModel)
 {
     return(PartialView("_frmModeloDocx", modeloDocxViewModel));
 }