public async Task <IActionResult> Edit(FichaViewModel fichaTecnicaVM)
 {
     if (ModelState.IsValid)
     {
         try
         {
             FichaTecnicaFachada  fichaFachada = new FichaTecnicaFachada(_context);
             ICollection <string> validacoes   = new List <string>();
             validacoes = fichaFachada.ValidarFicha(fichaTecnicaVM.ficha);
             if (validacoes.Count() == 0)
             {
                 UsuarioFachada uFachada = new UsuarioFachada(_context);
                 Usuario        usuario  = uFachada.existe(fichaTecnicaVM.usuario);
                 Log            log      = new Log();
                 if (usuario != null)
                 {
                     fichaFachada.alterar(fichaTecnicaVM.ficha);
                     LogFachada lFachada  = new LogFachada(_context);
                     string     descricao = "Alteração da Ficha Técnica Id: " + fichaTecnicaVM.ficha.id;
                     log = lFachada.gerarLog(descricao, usuario.id, true, false, fichaTecnicaVM.ficha.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));
             }
         }
         catch (DbUpdateConcurrencyException)
         {
             if (!FichaTecnicaExists(fichaTecnicaVM.ficha.id))
             {
                 return(NotFound());
             }
             else
             {
                 throw;
             }
         }
         return(RedirectToAction("Index", "Produtoes"));
     }
     return(View(fichaTecnicaVM.ficha));
 }
        public async Task <IActionResult> Edit(Produto p)
        {
            FichaTecnicaFachada fichaFachada = new FichaTecnicaFachada(_context);
            FichaTecnica        fichaTecnica = fichaFachada.find(p.id);

            if (fichaTecnica == null)
            {
                return(NotFound());
            }
            FichaViewModel fichaVM = new FichaViewModel {
                ficha = fichaTecnica
            };

            return(View(fichaVM));
        }
        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)));
        }