public override bool IsValid(object value) { if (value is string) { PerfilPersistence pp = new PerfilPersistence(); var p = pp.ObterPorDescricao(value.ToString()); return(p.Count == 0); } return(false); }
public ActionResult Incluir(PerfilMenuViewModelInclusao model) { try { if (model.NomePerfil == null) { throw new Exception("O nome do perfil deve ser informado"); } PerfilPersistence pp = new PerfilPersistence(); if (pp.ObterPorDescricao(model.NomePerfil).Count() > 0) { throw new Exception("Este perfil já existe"); } if (model.IdMenus == null) { throw new Exception("Pelo menos um item de menu deverá ser selecionado"); } Perfil p = new Perfil(); p.Descricao = model.NomePerfil; //MenuPersistence mp = new MenuPersistence(); //List<Menu> lista = new List<Menu>(); //foreach (var item in model.IdMenus) //{ // lista.Add(mp.ObterMenuPorId(item)); //} //para pegar o menu, deverá ser feito dentro do mesmo context.. //daí se passa o list de códigos do menu para pegar os objetos de cada menu através de um único context.. pp.InserirPerfilMenu(p, model.IdMenus); } catch (Exception ex) { return(Json(ex.Message, JsonRequestBehavior.AllowGet)); } return(Json("Perfil cadastrado com sucesso", JsonRequestBehavior.AllowGet)); }