Exemplo n.º 1
0
        /// <summary>
        /// Chama a tela com a listagem de ceps
        /// </summary>
        /// <returns></returns>
        public ActionResult Backup()
        {
            // Se não tiver login, encaminhar para a tela de login
            if (string.IsNullOrWhiteSpace(SessaoUsuario.SessaoLogin.Identificacao))
            {
                return(RedirectToAction("Login", "Usuario"));
            }

            RetornoObterArquivoDto retornoDto    = new RetornoObterArquivoDto();
            BaseRequisicaoDto      requisicaoDto = new BaseRequisicaoDto()
            {
                Identificacao = SessaoUsuario.SessaoLogin.Identificacao,
                IdUsuario     = SessaoUsuario.SessaoLogin.IdUsuario
            };

            RecursosBdBll recursosBdBll = new RecursosBdBll();

            if (!recursosBdBll.FazerBackupSistema(requisicaoDto, ref retornoDto))
            {
                ViewBag.MensagemErro = retornoDto.Mensagem;
                return(View("Erro"));
            }

            byte[] byteArray = Convert.FromBase64String(retornoDto.ArquivoBase64);
            return(File(byteArray, System.Net.Mime.MediaTypeNames.Application.Octet, "Backup " + DateTime.Now.ToShortDateString() + ".sql"));
        }
Exemplo n.º 2
0
        public ActionResult RestaurarBackup(ArquivoModel model)
        {
            //Se não tiver login, encaminhar para a tela de login
            if (string.IsNullOrWhiteSpace(SessaoUsuario.SessaoLogin.Identificacao))
            {
                return(RedirectToAction("Login", "Usuario"));
            }

            if (!SessaoUsuario.SessaoLogin.Administrador)
            {
                ViewBag.MensagemErro = "Para restaurar um backup é necessário " +
                                       $"logar com um usuário administrador.";
                return(View("SemPermissao"));
            }

            //Validar a model recebida
            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            //Converter para DTO
            RequisicaoArquivoDto requisicaoDto = new RequisicaoArquivoDto
            {
                Identificacao = SessaoUsuario.SessaoLogin.Identificacao,
                IdUsuario     = SessaoUsuario.SessaoLogin.IdUsuario
            };

            string mensagemErro = "";

            if (!model.ConverterModelParaDto(ref requisicaoDto, ref mensagemErro))
            {
                ModelState.AddModelError("", $"Erro ao converter para Dto: {mensagemErro}");
                return(View(model));
            }

            //Preparar requisição e retorno
            RetornoDto retorno = new RetornoDto();

            //Consumir o serviço
            RecursosBdBll recursosBll = new RecursosBdBll();

            recursosBll.RestaurarBackup(requisicaoDto, ref retorno);

            //Verificar o retorno
            if (retorno.Retorno == false)
            {
                //Se houver erro, exibir na tela de inclusão
                ModelState.AddModelError("", retorno.Mensagem);
                return(View(model));
            }

            TempData["Retorno"] = "BACKUPRESTAURADO";

            //Retornar para inicio
            return(RedirectToAction("Inicio", "Usuario"));
        }