//Create - Assincrono
        public async Task <IActionResult> Create()
        {
            Session();
            var categoria = await _CategoriaService.FindAllAsync();

            var viewModel = new ProdutoFormViewModels {
                Categoria = categoria
            };

            return(View(viewModel));
        }
        //Edit - Assincrono
        public async Task <IActionResult> Edit(int?id)
        {
            if (id == null)
            {
                return(NotFound());
            }
            var produto = await _ProdutoService.FindByIdAsync(id.Value);

            if (produto == null)
            {
                return(NotFound());
            }
            List <Categoria>      categoria = _CategoriaService.FindAll();
            ProdutoFormViewModels viewModel = new ProdutoFormViewModels
            {
                Produto   = produto,
                Categoria = categoria
            };

            return(View(viewModel));
        }
        //Details - Assincrono
        public async Task <IActionResult> Details(int?id)
        {
            if (id == null)
            {
                return(NotFound());
            }
            var produto = await _ProdutoService.FindByIdAsync(id.Value);

            if (produto == null)
            {
                return(NotFound());
            }
            int codigocategoria             = produto.IdCategoria;
            var categoriaObj                = _CategoriaService.FindById(codigocategoria);
            ProdutoFormViewModels viewModel = new ProdutoFormViewModels
            {
                Produto      = produto,
                CategoriaObj = categoriaObj
            };

            return(View(viewModel));
        }