public async Task <IActionResult> Deletar(int id)
        {
            try
            {
                var produtoResult = await _produtoRepository.GetById(id);

                if (produtoResult != null)
                {
                    foreach (var foto in produtoResult.Foto)
                    {
                        _uploadSystem.DeleteFileAsync(foto.Foto, Functions.GetPathUploadProdutos());
                    }
                    await _produtoRepository.Deletar(produtoResult);

                    var produtoVm = new ProdutoViewModel
                    {
                        Produtos = await _produtoRepository.GetAll(1, 6),
                        Mensagem = "Produto Deletado com sucesso!"
                    };

                    return(Json(produtoVm));
                }

                var errors = new ErroViewModel {
                    Erros = "Produto não encontrado"
                };

                return(Json(errors));
            }
            catch (Exception e)
            {
                return(Json("error", e.Message));
            }
        }
Example #2
0
        public ActionResult Error()
        {
            ErroViewModel errorInfo = ErroViewModel.Create(500, GetLasException());

            if ((errorInfo.UltimoErro != null) && (errorInfo.UltimoErro is System.Web.Mvc.HttpAntiForgeryException))
            {
                this.Response.StatusCode             = errorInfo.StatusCode;
                this.Response.TrySkipIisCustomErrors = true;
                errorInfo.Mensagem  = "Sua sessão expirou";
                errorInfo.Descricao = "Clique em Login para efetuar login novamente";
                return(PartialViewIfAjax("AntiforgeryError", errorInfo));
            }
            else if ((errorInfo.UltimoErro != null) && (errorInfo.UltimoErro is HttpRequestValidationException))
            {
                this.Response.StatusCode             = errorInfo.StatusCode;
                this.Response.TrySkipIisCustomErrors = true;
                errorInfo.Mensagem  = "Caracteres inválidos no preenchimento";
                errorInfo.Descricao = errorInfo.UltimoErro.Message;
                return(PartialViewIfAjax("Error", errorInfo));
            }
            else
            {
                this.Response.StatusCode             = errorInfo.StatusCode;
                this.Response.TrySkipIisCustomErrors = true;
                return(PartialViewIfAjax(errorInfo));
            }
        }
        public IActionResult Index()
        {
            AdministradorViewModel admViewModel = new AdministradorViewModel();

            admViewModel.Nome = HttpContext.Session.GetString(SESSION_ADMIN);
            ViewBag.Admin     = HttpContext.Session.GetString(SESSION_ADMIN);
            if (string.IsNullOrEmpty(HttpContext.Session.GetString(SESSION_ADMIN)))
            {
                var erroViewModel = new ErroViewModel();
                TempData["erro"]   = "Apenas administradores podem acessar essa página !";
                TempData["voltar"] = "/Home/Index";
                return(View("_Erro", erroViewModel));
            }
            admViewModel.ListaDeUsuarios      = usuarioRepositorio.Listar();
            admViewModel.ListaDeComentarios   = comentarioRepositorio.Listar();
            admViewModel.ComentariosAprovados = 0;
            admViewModel.ComentariosRecusados = 0;

            foreach (var item in  admViewModel.ListaDeComentarios)
            {
                if (item.EstaAprovado)
                {
                    admViewModel.ComentariosAprovados++;
                }
                else
                {
                    admViewModel.ComentariosRecusados++;
                }
            }

            return(View(admViewModel));
        }
        public IActionResult FazerLogin(IFormCollection form)
        {
            var email = form["email"];
            var senha = form["senha"];

            var usuario = administradorRepositorio.TentarLogin(email, senha);

            if (usuario != null)
            {
                string[] usuarioNomes = usuario.Nome.Split(" ");
                string   primeiroNome = usuarioNomes[0];
                HttpContext.Session.SetString(SESSION_EMAIL, email);
                HttpContext.Session.SetString(SESSION_ADMIN, primeiroNome);


                return(RedirectToAction("Index", "Administrador"));
            }
            else
            {
                ErroViewModel erroViewModel = new ErroViewModel();
                TempData["erro"]   = "Email ou senha inválidos";
                TempData["voltar"] = "/Administrador/Login/";
                return(View("_Erro", erroViewModel));
            }
        }
        public IActionResult ExibirUsuarios()
        {
            ViewBag.Admin = HttpContext.Session.GetString(SESSION_ADMIN);
            if (string.IsNullOrEmpty(HttpContext.Session.GetString(SESSION_ADMIN)))
            {
                var erroViewModel = new ErroViewModel();
                TempData["erro"]   = "Apenas administradores podem acessar essa página !";
                TempData["voltar"] = "/Home/Index";
                return(View("_Erro", erroViewModel));
            }

            UsuarioViewModel uvm = new UsuarioViewModel();

            uvm.ListaDeUsuarios = new List <Usuario>();

            var listaDeUsuarios = usuarioRepositorio.ListarAoContrario();

            foreach (var item in listaDeUsuarios)
            {
                if (item != null)
                {
                    uvm.ListaDeUsuarios.Add(item);
                }
            }
            return(View(uvm));
        }
        public async Task <IActionResult> Editar(Produto produto)
        {
            try
            {
                var produtoResult = await _produtoRepository.GetById(produto.ProdutoId);

                if (produtoResult != null)
                {
                    var formFile = _httpContextAccessor.HttpContext.Request.Form.Files["Foto"];
                    // produto.Foto = formFile != null ? _uploadSystem.Upload(formFile, Functions.GetPathUploadProdutos()) : produtoResult.Foto;
                    await _produtoRepository.Editar(produto);

                    var produtoVm = new ProdutoViewModel
                    {
                        Produtos = await _produtoRepository.GetAll(1, 6),
                        Mensagem = "Produto Cadastrado com sucesso!"
                    };

                    return(Json(produtoVm));
                }

                var errors = new ErroViewModel {
                    Erros = "Produto não encontrado"
                };
                return(Json(errors));
            }
            catch (Exception e)
            {
                return(Json("error", e.Message));
            }
        }
Example #7
0
        public ActionResult ServiceUnavailable()
        {
            ErroViewModel errorInfo = ErroViewModel.Create(503, GetLasException());

            this.Response.StatusCode             = errorInfo.StatusCode;
            this.Response.TrySkipIisCustomErrors = true;
            return(PartialViewIfAjax("Error", errorInfo));
        }
Example #8
0
        public ActionResult NotFound()
        {
            ErroViewModel errorInfo = ErroViewModel.Create(404, GetLasException());

            this.Response.StatusCode             = errorInfo.StatusCode;
            this.Response.TrySkipIisCustomErrors = true;
            return(PartialViewIfAjax("Error", errorInfo));
        }
        public ErroViewModel DeModelParaViewModel(Erro model)
        {
            ErroViewModel viewModel = new ErroViewModel
            {
                Codigo    = model.Codigo,
                Descricao = model.Descricao
            };

            return(viewModel);
        }
 public IActionResult CadastrarAdministrador()
 {
     ViewBag.Admin = HttpContext.Session.GetString(SESSION_ADMIN);
     if (string.IsNullOrEmpty(HttpContext.Session.GetString(SESSION_ADMIN)))
     {
         var erroViewModel = new ErroViewModel();
         TempData["erro"]   = "Apenas administradores podem acessar essa página !";
         TempData["voltar"] = "/Home/Index";
         return(View("_Erro", erroViewModel));
     }
     return(View());
 }
 public IActionResult Login()
 {
     ViewBag.Admin = HttpContext.Session.GetString(SESSION_ADMIN);
     ViewBag.User  = HttpContext.Session.GetString(SESSION_USUARIO);
     if (!string.IsNullOrEmpty(HttpContext.Session.GetString(SESSION_ADMIN)) || !string.IsNullOrEmpty(HttpContext.Session.GetString(SESSION_USUARIO)))
     {
         var erroViewModel = new ErroViewModel();
         TempData["erro"]   = "Você já está logado";
         TempData["voltar"] = "/Home/Index";
         return(View("_Erro", erroViewModel));
     }
     return(View());
 }
        public IActionResult FiltrarResultados()
        {
            ViewBag.Admin = HttpContext.Session.GetString(SESSION_ADMIN);

            if (string.IsNullOrEmpty(ViewBag.Admin))
            {
                ErroViewModel erroViewModel = new ErroViewModel();
                TempData["erro"]   = "Apenas administradores podem acessar essa pagina.";
                TempData["Voltar"] = "/Home/Index";
                return(View("_Erro", erroViewModel));
            }
            return(View());
        }
        public IActionResult AprovarComentarios()
        {
            // AdministradorViewModel admViewModel = new AdministradorViewModel();
            // // admViewModel.Nome = HttpContext.Session.GetString(SESSION_ADMIN);
            ViewBag.Admin = HttpContext.Session.GetString(SESSION_ADMIN);

            if (string.IsNullOrEmpty(ViewBag.Admin))
            {
                ErroViewModel erroViewModel = new ErroViewModel();
                TempData["erro"]   = "Apenas administradores podem acessar essa pagina.";
                TempData["Voltar"] = "/Home/Index";
                return(View("_Erro", erroViewModel));
            }
            else
            {
                ComentarioViewModel comentarioViewModel = new ComentarioViewModel();
                comentarioViewModel.ListaDeComentarios = comentarioRepositorio.ListarAoContrario();
                return(View(comentarioViewModel));
            }
        }
        public async Task <IActionResult> Cadastrar(Produto produto)
        {
            try{
                if (ModelState.IsValid)
                {
                    produto.Quantidade = produto.Quantidade == 0 ? 1 : produto.Quantidade;
                    await _produtoRepository.Cadastrar(produto);

                    var ProdutoCadastrado = await _produtoRepository.GetLastProdutoCadastrado();

                    var formFileList = _httpContextAccessor.HttpContext.Request.Form.Files;
                    foreach (FormFile formFile in formFileList)
                    {
                        var nomeArquivo = _uploadSystem.Upload(formFile, Functions.GetPathUploadProdutos());
                        var fotoProduto = new FotoProduto();
                        fotoProduto.Foto      = nomeArquivo;
                        fotoProduto.ProdutoId = ProdutoCadastrado.ProdutoId;
                        await _fotoProdutoRepository.Cadastrar(fotoProduto);
                    }

                    var produtoVm = new ProdutoViewModel
                    {
                        Produtos = await _produtoRepository.GetAll(1, 6),
                        Mensagem = "Produto Cadastrado com sucesso!"
                    };

                    return(Json(produtoVm));
                }

                var errors = new ErroViewModel()
                {
                    Erros = ModelState
                };

                return(Json(errors));
            }
            catch (Exception e)
            {
                return(Json("error", e.Message));
            }
        }
        public IActionResult CadastrarAdministrador(IFormCollection form)
        {
            if (!form["senha"].Equals(form["confirmarsenha"]))
            {
                ErroViewModel erroViewModel = new ErroViewModel();
                // erroViewModel.Mensagem = "Por favor, confirme sua senha corretamente.";
                // erroViewModel.LinkVoltar = "/Home/Index";
                TempData["erro"]   = "Por favor, confirme sua senha corretamente.";
                TempData["voltar"] = "/Home/Index";
                return(View("_Erro", erroViewModel));
            }
            else
            {
                Administrador admin = new Administrador();
                admin.Nome           = form["nome"];
                admin.Setor          = form["setor"];
                admin.Telefone       = form["telefone"];
                admin.Endereco       = form["endereco"];
                admin.Email          = form["email"];
                admin.Senha          = form["senha"];
                admin.DataNascimento = DateTime.Parse(form["data-nascimento"]);

                bool emailJaExiste = administradorRepositorio.VerificarEmailExistente(admin.Email);

                if (!emailJaExiste)
                {
                    administradorRepositorio.Inserir(admin);
                    return(RedirectToAction("Index", "Administrador"));
                }
                else
                {
                    ErroViewModel erroViewModel = new ErroViewModel();
                    // erroViewModel.Mensagem = "Esse email já está sendo utilizado.";
                    // erroViewModel.LinkVoltar = "/Home/Index/";
                    TempData["erro"]   = "Esse email já está sendo utilizado.";
                    TempData["voltar"] = "/Administrador/Index/";
                    return(View("_Erro", erroViewModel));
                }
            }
        }
Example #16
0
        public ActionResult Forbidden()
        {
            ErroViewModel errorInfo = ErroViewModel.Create(403, GetLasException());

            if (User != null && User.Identity != null)
            {
                errorInfo.Usuario = User.Identity.Name;
            }

            if (!string.IsNullOrEmpty(errorInfo.Usuario))
            {
                var usu = db.Usuarios.Where(u => u.Login == errorInfo.Usuario).FirstOrDefault();
                if ((usu == null) || (usu.Perfis.Count == 0))
                {
                    errorInfo.Descricao += string.Format("\r\n O usuário {0} não está cadastrado em nenhum perfil.", errorInfo.Usuario);
                }
            }

            this.Response.StatusCode             = errorInfo.StatusCode;
            this.Response.TrySkipIisCustomErrors = true;
            return(PartialViewIfAjax("Forbidden", errorInfo));
        }
Example #17
0
        public IActionResult CadastrarComentario()
        {
            var usuario = usuarioRepositorio.ObterUsuario(HttpContext.Session.GetString(SESSION_EMAIL));

            ViewBag.Admin = HttpContext.Session.GetString(SESSION_ADMIN);
            // ViewBag.User = HttpContext.Session.GetString(SESSION_USUARIO);

            ComentarioViewModel cvm = new ComentarioViewModel();

            if (usuario != null)
            {
                cvm.Usuario  = usuario;
                ViewBag.User = HttpContext.Session.GetString(SESSION_USUARIO);
                return(View(cvm));
            }
            else
            {
                ErroViewModel erro = new ErroViewModel();
                TempData["erro"]   = "Você deve estar logado para fazer uma avaliação!";
                TempData["voltar"] = "/Home/Index";
                return(View("_Erro", erro));
            }
        }
        /// <summary>
        /// cria um ActionResult para onde / qual página de erro redirecionar
        /// </summary>
        /// <param name="filterContext">ExceptionContext - contexto da action</param>
        /// <param name="statusCode">int - código de status http, por exemplo 404</param>
        /// <returns>ActionResult - o resultado para onde redirecionar o fluxo</returns>
        protected virtual ActionResult CreateActionResult(ExceptionContext filterContext, int statusCode)
        {
            var statusCodeName = ((HttpStatusCode)statusCode).ToString();
            var viewName       = "~/Views/Error/Error.cshtml";
            var controllerName = (string)filterContext.RouteData.Values["controller"];
            var actionName     = (string)filterContext.RouteData.Values["action"];
            var ex             = filterContext.Exception;

            var model = ErroViewModel.Create(statusCode, ex);

            model.ControllerName = controllerName;
            model.ActionName     = actionName;

            var result = new ViewResult()
            {
                ViewName = viewName,
                ViewData = new ViewDataDictionary <ErroViewModel>(model),
            };

            result.ViewData.Model         = model;
            result.TempData["UltimoErro"] = ex;

            return(result);
        }
Example #19
0
        public IActionResult FazerLogin(IFormCollection form)
        {
            var email = form["email"];
            var senha = form["senha"];

            var usuario = usuarioRepositorio.TentarLogin(email, senha);

            if (usuario != null)
            {
                string[] usuarioNomes = usuario.Nome.Split(" ");
                string   primeiroNome = usuarioNomes[0];
                HttpContext.Session.SetString(SESSION_EMAIL, email);
                HttpContext.Session.SetString(SESSION_USUARIO, primeiroNome);
                return(RedirectToAction("Index", "Home"));
            }
            else
            {
                // TempData["erro"] = "Email ou senha inválidos";
                ErroViewModel erroViewModel = new ErroViewModel();
                erroViewModel.Mensagem   = "Email ou senha inválidos";
                erroViewModel.LinkVoltar = "/Usuario/Login/";
                return(View("Erro", erroViewModel));
            }
        }
Example #20
0
        public IActionResult CadastrarUsuario(IFormCollection form)
        {
            if (!form["senha"].Equals(form["confirmarsenha"]))
            {
                // TempData["erro"] = "Por favor, confirme sua senha corretamente.";
                ErroViewModel erroViewModel = new ErroViewModel();
                erroViewModel.Mensagem   = "Por favor, confirme sua senha corretamente.";
                erroViewModel.LinkVoltar = "/Usuario/Index";
                return(View("Erro", erroViewModel));
            }
            else
            {
                Usuario usuario = new Usuario();
                usuario.Nome           = form["nome"];
                usuario.Telefone       = form["telefone"];
                usuario.Email          = form["email"];
                usuario.Endereco       = form["endereco"];
                usuario.DataNascimento = DateTime.Parse(form["data-nascimento"]);
                usuario.Senha          = form["senha"];


                Empresa empresa = new Empresa();
                empresa.Nome = form["empresa"];
                empresa.Cnpj = form["cnpj"];

                usuario.Empresa = empresa;


                //FOTO
                // var fotinha = form["foto"];

                // if (usuario.Foto != null && usuario.Foto.Length > 0)
                // {
                //     var fileName = Path.GetFileName (usuario.Foto.FileName);
                //     var NomeArquivo = Guid.NewGuid ().ToString ().Replace ("-", "") + Path.GetExtension (fileName);
                //     var CaminhoArquivo = Path.Combine (Directory.GetCurrentDirectory (), "wwwroot\\uploads\\imgs", NomeArquivo);


                //     using (var StreamImagem = new FileStream (CaminhoArquivo, FileMode.Create))
                //     {
                //         usuario.Foto.CopyTo(StreamImagem);
                //     }

                //     usuario.UrlFoto = "/uploads/imgs/"+NomeArquivo;
                // }                                                            *****ARRUMA ESSA PORRA AQUI VAI TOMAR NO CU PQP****


                bool emailJaExiste = usuarioRepositorio.VerificarEmailExistente(usuario.Email);

                if (!emailJaExiste)
                {
                    usuarioRepositorio.Inserir(usuario);
                    return(RedirectToAction("Index", "Home"));
                }
                else
                {
                    ErroViewModel erroViewModel = new ErroViewModel();
                    erroViewModel.Mensagem   = "Esse email já está sendo utilizado.";
                    erroViewModel.LinkVoltar = "/Usuario/Index/";
                    // TempData["erro"] = "Esse email já está sendo utilizado.";
                    // TempData["voltar"] = "";
                    return(View("Erro", erroViewModel));
                }
            }
        }
        public IActionResult CadastrarUsuario(IFormCollection form, [FromForm] Usuario usuarioForm)
        {
            DateTime data = DateTime.Parse(form["dataNascimento"]);

            if (!form["senha"].Equals(form["confirmarsenha"]))
            {
                ErroViewModel erroViewModel = new ErroViewModel();
                TempData["erro"]   = "Por favor, confirme sua senha corretamente.";
                TempData["voltar"] = "/Usuario/Index";
                return(View("_Erro", erroViewModel));
            }
            else if (data >= DateTime.Today)
            {
                ErroViewModel erroViewModel = new ErroViewModel();
                TempData["erro"]   = "A data de nascimento inserida é inválida.";
                TempData["voltar"] = "/Usuario/Index";
                return(View("_Erro", erroViewModel));
            }
            else
            {
                Usuario usuario = new Usuario();
                usuario.Nome           = form["nome"];
                usuario.Telefone       = form["telefone"];
                usuario.Email          = form["email"];
                usuario.Endereco       = form["endereco"];
                usuario.Genero         = form["genero"];
                usuario.DataNascimento = DateTime.Parse(form["dataNascimento"]);
                usuario.Senha          = form["senha"];


                Empresa empresa = new Empresa();
                empresa.Nome = form["empresa"];
                empresa.Cnpj = form["cnpj"];

                usuario.Empresa = empresa;
                #region CADASTRO_DE_FOTOS
                if (usuarioForm.Foto != null && usuarioForm.Foto.Length > 0)
                {
                    // Extrai apenas o nome do arquivo
                    var fileName = Path.GetFileName(usuarioForm.Foto.FileName);

                    // Define o nome do arquivo
                    var NomeArquivo = Guid.NewGuid().ToString().Replace("-", "") + Path.GetExtension(fileName);


                    //Define um caminho para o arquivo
                    var CaminhoArquivo = Path.Combine(Directory.GetCurrentDirectory(), "wwwroot\\uploads\\imgs", NomeArquivo);


                    using (var StreamImagem = new FileStream(CaminhoArquivo, FileMode.Create))
                    {
                        usuarioForm.Foto.CopyTo(StreamImagem);
                    }

                    usuario.UrlFoto = "/uploads/imgs/" + NomeArquivo;
                }
                else
                {
                    usuario.UrlFoto = "/img/usuario_defaultpicture.png";
                }
                #endregion



                bool emailJaExiste = usuarioRepositorio.VerificarEmailExistente(usuario.Email);

                if (!emailJaExiste)
                {
                    usuarioRepositorio.Inserir(usuario);
                    var sucessoViewModel = new SucessoViewModel();
                    TempData["sucesso"] = "Usuário cadastrado com sucesso!";
                    TempData["voltar"]  = "/Home/Index";
                    return(View("_Sucesso", sucessoViewModel));
                }
                else
                {
                    ErroViewModel erroViewModel = new ErroViewModel();
                    TempData["erro"]   = "Esse email já está sendo utilizado.";
                    TempData["voltar"] = "/Usuario/Index";
                    return(View("_Erro", erroViewModel));
                }
            }
        }
        public ErroViewModel DeModelParaViewModel(Erro model)
        {
            ErroViewModel viewModel = new ErroViewModel(model.Codigo, model.Descricao);

            return(viewModel);
        }