public ActionResult Adicionar(CategoriaViewModel categoriaViewModel, FormCollection form)
        {
            if (!ModelState.IsValid)
            {
                ViewData[CategoriasViewModel.MercadoriasCadastradas] = repositorioDeMercadorias.ObterTodos();
                return View();
            }

            if (form[CategoriasViewModel.MercadoriasSelecionadas] != null)
            {
                var ids = form[CategoriasViewModel.MercadoriasSelecionadas].Split(',');
                categoriaViewModel.Mercadorias.Clear();

                foreach (var id in ids)
                {
                    categoriaViewModel.Mercadorias.Add(repositorioDeMercadorias.Obter(Guid.Parse(id)));
                }
            }

            var categoria = Mapper.Map<CategoriaViewModel, Categoria>(categoriaViewModel);
            FabricaDeCategoria.Instancia().CriarCategoria(categoria);

            bool adicionado = repositorioDeCategorias.Adicionar(categoria);

            if (adicionado)
                return RedirectToAction("Listar");

            ViewData[CategoriasViewModel.MercadoriasCadastradas] = repositorioDeMercadorias.ObterTodos();
            ViewBag.Errou = true;
            ViewBag.Mensagem = "Não foi possível cadastrar a Categoria. Por favor informe ao administrador do sistema.";
            return View();
        }
        public ActionResult Editar(CategoriaViewModel categoriaViewModel)
        {
            var categoriaModel = Mapper.Map<Categoria, CategoriaViewModel>(repositorioDeCategorias.Obter(categoriaViewModel.Id));

            if (!ModelState.IsValid)
            {
                ViewData[CategoriasViewModel.MercadoriasCadastradas] = repositorioDeMercadorias.ObterTodos();
                return View(categoriaModel);

            }

            var categoria = Mapper.Map<CategoriaViewModel, Categoria>(categoriaViewModel);

            bool editado = repositorioDeCategorias.Editar(categoria);

            if (editado)
                return RedirectToAction("Detalhes", new { id = categoria.Id });

            ViewData[CategoriasViewModel.MercadoriasCadastradas] = repositorioDeMercadorias.ObterTodos();
            ViewBag.Errou = true;
            ViewBag.Mensagem = "Não foi possível editar a Categoria. Por favor informe ao administrador do sistema.";
            return View(categoriaModel);
        }