// GET: Produtoes/Details/5
        public async Task <IActionResult> Details(int id)
        {
            ProdutoFachada                  produtoFachada = new ProdutoFachada(_context);
            Produto                         p                 = produtoFachada.Consultar(id);
            LinhaProdutoFachada             lpFachada         = new LinhaProdutoFachada(_context);
            LinhaProduto                    lp                = lpFachada.Consultar(p.linhaProdutoid);
            AcessorioOpcionalFachada        acessorioOFachada = new AcessorioOpcionalFachada(_context);
            AcessorioBasicoFachada          acessorioBFachada = new AcessorioBasicoFachada(_context);
            ICollection <AcessorioOpcional> listaAcessoriosO  = new List <AcessorioOpcional>();

            listaAcessoriosO = acessorioOFachada.Consultar(p.id);
            ICollection <AcessorioBasico> listaAcessoriosB = new List <AcessorioBasico>();

            listaAcessoriosB = acessorioBFachada.Consultar(p.linhaProdutoid);
            ProdutoViewModel pVM = new ProdutoViewModel {
                produto = p, acessoriosO = listaAcessoriosO, acessoriosB = listaAcessoriosB, linha = lp
            };

            if (p == null)
            {
                return(NotFound());
            }

            return(View(pVM));
        }
        // GET: Produtoes/Edit/5
        public async Task <IActionResult> Editar(int?id)
        {
            if (id == null)
            {
                return(NotFound());
            }
            LinhaProdutoFachada           lpFachada = new LinhaProdutoFachada(_context);
            ICollection <EntidadeDominio> listaEnt  = new List <EntidadeDominio>();
            ICollection <LinhaProduto>    lista     = new List <LinhaProduto>();

            listaEnt = lpFachada.Listar();
            foreach (EntidadeDominio item in listaEnt)
            {
                lista.Add((LinhaProduto)item);
            }
            var linhas = lista;

            ProdutoFachada produtoFachada = new ProdutoFachada(_context);
            int            ID             = (int)id;
            var            p = produtoFachada.Consultar(ID);

            if (p == null)
            {
                return(NotFound());
            }
            ProdutoViewModel pVM = new ProdutoViewModel {
                produto = p, lp = linhas
            };

            return(View(pVM));
        }
        public IActionResult Create(LinhaViewModel linhaVM)
        {
            LinhaProdutoFachada  lpFachada  = new LinhaProdutoFachada(_context);
            ICollection <string> validacoes = new List <string>();

            validacoes = lpFachada.ValidarLinha(linhaVM.linha);
            if (validacoes.Count() == 0)
            {
                UsuarioFachada uFachada = new UsuarioFachada(_context);
                Usuario        usuario  = uFachada.existe(linhaVM.usuario);
                if (usuario != null)
                {
                    lpFachada.salvar(linhaVM.linha);
                    LogFachada lFachada  = new LogFachada(_context);
                    string     descricao = "Inserção da Ficha Técnica: " + linhaVM.linha.nome + " Id: " + linhaVM.linha.id;
                    Log        log       = lFachada.gerarLog(descricao, usuario.id, true, false, linhaVM.linha.ToString());
                    lFachada.salvar(log);
                    return(RedirectToAction("Index", "Produtoes"));
                }
                else
                {
                    validacoes.Add("Usuário não encontrado");
                    return(View("Error", validacoes));
                }
            }
            else
            {
                return(View("Error", validacoes));
            }
        }
        public IActionResult Create()
        {
            LinhaProdutoFachada           lpFachada  = new LinhaProdutoFachada(_context);
            ICollection <LinhaProduto>    listaLinha = new List <LinhaProduto>();
            ICollection <EntidadeDominio> listaEnt   = lpFachada.Listar();

            foreach (EntidadeDominio item in listaEnt)
            {
                listaLinha.Add((LinhaProduto)item);
            }
            var aVM = new AcessorioViewModel {
                linhas = listaLinha
            };

            return(View(aVM));
        }
        // GET: Produtoes/Create
        public IActionResult Create()
        {
            LinhaProdutoFachada           lpFachada = new LinhaProdutoFachada(_context);
            ICollection <EntidadeDominio> listaEnt  = new List <EntidadeDominio>();
            ICollection <LinhaProduto>    lista     = new List <LinhaProduto>();

            listaEnt = lpFachada.Listar();
            foreach (EntidadeDominio item in listaEnt)
            {
                lista.Add((LinhaProduto)item);
            }
            var linhas    = lista;
            var viewModel = new ProdutoViewModel {
                lp = linhas
            };

            return(View(viewModel));
        }