public IActionResult Editar(ProdutoViewModel produtoVM)
        {
            ProdutoFachada       produtoFachada = new ProdutoFachada(_context);
            ICollection <string> validacoes     = produtoFachada.ValidarProduto(produtoVM.produto);

            if (validacoes.Count() == 0)
            {
                UsuarioFachada uFachada = new UsuarioFachada(_context);
                Usuario        usuario  = uFachada.existe(produtoVM.usuario);
                Log            log      = new Log();
                if (usuario != null)
                {
                    produtoFachada.alterar(produtoVM.produto);
                    LogFachada lFachada  = new LogFachada(_context);
                    string     descricao = "Alteração do Produto: " + produtoVM.produto.nome + ", Id: " + produtoVM.produto.id;
                    log = lFachada.gerarLog(descricao, usuario.id, false, true, produtoVM.produto.ToString());
                }
                else
                {
                    validacoes.Add("Usuário não encontrado");
                    return(View("Error", validacoes));
                }
                if (usuario != null)
                {
                    LogFachada lFachada = new LogFachada(_context);
                    lFachada.salvar(log);
                }
            }
            else
            {
                return(View("Error", validacoes));
            }
            return(RedirectToAction("Index"));
        }
        public async Task <IActionResult> Create(ProdutoViewModel produtoVM)
        {
            if (ModelState.IsValid)
            {
                produtoVM.produto.status = true;
                ProdutoFachada produtoFachada = new ProdutoFachada(_context);

                FichaTecnicaFachada  fichaFachada = new FichaTecnicaFachada(_context);
                ICollection <string> validacoes   = produtoFachada.ValidarProduto(produtoVM.produto);
                if (produtoFachada.ConsultarExistencia(produtoVM.produto.codigo))
                {
                    validacoes.Add("Já existe um produto com esse código");
                    return(View("Error", validacoes));
                }
                ICollection <string> validacoesFicha = fichaFachada.ValidarFicha(produtoVM.produto.fichaTecnica);
                foreach (string item in validacoesFicha)
                {
                    validacoes.Add(item);
                }
                if (validacoes.Count() == 0)
                {
                    UsuarioFachada uFachada = new UsuarioFachada(_context);
                    Usuario        usuario  = uFachada.existe(produtoVM.usuario);
                    if (usuario != null)
                    {
                        produtoFachada.salvar(produtoVM.produto);
                        LogFachada lFachada  = new LogFachada(_context);
                        string     descricao = "Inserção do Produto: " + produtoVM.produto.nome + ", Id: " + produtoVM.produto.id;
                        Log        log       = lFachada.gerarLog(descricao, usuario.id, false, true, produtoVM.produto.ToString());
                        lFachada.salvar(log);
                    }
                    else
                    {
                        validacoes.Add("Usuário não encontrado");
                        return(View("Error", validacoes));
                    }
                }
                else
                {
                    return(View("Error", validacoes));
                }
            }
            return(RedirectToAction(nameof(Index)));
        }