public ActionResult Cadastro(UsuarioFuncionalidadeViewModel model) { if (ModelState.IsValid) { UsuarioFuncionalidadeDTO usuarioFuncionalidade; List <UsuarioFuncionalidadeDTO> listaUsuarioFuncionalidade = new List <UsuarioFuncionalidadeDTO>(); List <PerfilFuncionalidadeDTO> listaPerfilFuncionalidade = new List <PerfilFuncionalidadeDTO>(); if (model.FuncionalidadeMarcada != null) { if (model.PerfilId.HasValue) { var perfil = perfilAppService.ObterPeloId(model.PerfilId.Value); listaPerfilFuncionalidade = perfil.ListaFuncionalidade; } foreach (var item in model.FuncionalidadeMarcada) { if (!listaPerfilFuncionalidade.Any(l => l.Funcionalidade == item.ToString())) { usuarioFuncionalidade = new UsuarioFuncionalidadeDTO(); usuarioFuncionalidade.Funcionalidade = item; listaUsuarioFuncionalidade.Add(usuarioFuncionalidade); } } } usuarioAppService.SalvarPermissoes(model.Usuario.Id.Value, model.Modulo.Id.Value, model.PerfilId, listaUsuarioFuncionalidade); } return(PartialView("_NotificationMessagesPartial")); }
public ActionResult Cadastro(int?UsuarioId, int?ModuloId) { UsuarioFuncionalidadeViewModel model = new UsuarioFuncionalidadeViewModel(); PerfilDTO perfil = new PerfilDTO(); int PerfilId = 0; model.NovoItem = true; if ((UsuarioId != null) && (ModuloId != null)) { var usuario = usuarioAppService.ObterUsuarioPorId(UsuarioId.Value) ?? new UsuarioDTO(); model.Usuario = usuario; model.UsuarioId = UsuarioId.Value; var modulo = moduloAppService.ObterPeloId(ModuloId.Value) ?? new ModuloDTO(); model.Modulo = modulo; model.ModuloId = ModuloId.Value; if (usuario.ListaUsuarioPerfil.Any(l => l.ModuloId == ModuloId.Value)) { var usuarioPerfil = usuario.ListaUsuarioPerfil.Where(l => l.ModuloId == ModuloId.Value).ToList <UsuarioPerfilDTO>()[0]; //if (usuarioPerfil.PerfilId != null) //{ perfil = perfilAppService.ObterPeloId(usuarioPerfil.PerfilId); PerfilId = usuarioPerfil.PerfilId; model.PerfilId = PerfilId; //} } var listaFuncionalidadesAvulsas = usuario.ListaUsuarioFuncionalidade.Where(l => l.ModuloId == ModuloId).ToList <UsuarioFuncionalidadeDTO>(); listaFuncionalidadesAvulsas = LimpaFuncionalidadeUsuario(listaFuncionalidadesAvulsas); if ((PerfilId != 0) || (listaFuncionalidadesAvulsas.Count > 0)) { model.NovoItem = false; } var listaFuncionalidadesModulo = funcionalidadeAppService.ListarPeloModulo(ModuloId.Value); model.JsonFuncionalidadesModulo = JsonConvert.SerializeObject(listaFuncionalidadesModulo, Formatting.Indented, new JsonSerializerSettings { ReferenceLoopHandling = ReferenceLoopHandling.Ignore }); model.JsonFuncionalidadesPerfil = JsonConvert.SerializeObject(perfil.ListaFuncionalidade, Formatting.Indented, new JsonSerializerSettings { ReferenceLoopHandling = ReferenceLoopHandling.Ignore }); model.JsonFuncionalidadesAvulsas = JsonConvert.SerializeObject(listaFuncionalidadesAvulsas, Formatting.Indented, new JsonSerializerSettings { ReferenceLoopHandling = ReferenceLoopHandling.Ignore }); } model.PodeSalvar = usuarioAppService.EhPermitidoSalvar(); model.PodeDeletar = usuarioAppService.EhPermitidoDeletar(); CarregarCombos(model); return(View(model)); }
public ActionResult Index() { var model = Session["Filtro"] as UsuarioFuncionalidadeViewModel; if (model == null) { model = new UsuarioFuncionalidadeViewModel(); model.Filtro.PaginationParameters.PageSize = this.DefaultPageSize; model.Filtro.PaginationParameters.UniqueIdentifier = GenerateUniqueIdentifier(); } CarregarCombos(model); return(View(model)); }
public ActionResult Lista(UsuarioFuncionalidadeViewModel model) { if (ModelState.IsValid) { Session["Filtro"] = model; int totalRegistros; totalRegistros = 0; var result = usuarioAppService.ListarPeloUsuarioModulo(model.Filtro, out totalRegistros); if (result.Any()) { var listaViewModel = CreateListaViewModel(model.Filtro.PaginationParameters, totalRegistros, result); return(PartialView("ListaPartial", listaViewModel)); } return(PartialView("_EmptyListPartial")); } return(PartialView("_NotificationMessagesPartial")); }
private void CarregarCombos(UsuarioFuncionalidadeViewModel model) { model.ListaUsuario = new SelectList(usuarioAppService.ListarTodos().OrderBy(l => l.Login), "Id", "Login", model.UsuarioId); model.ListaModulo = new SelectList(moduloAppService.ListarTodosWEB(), "Id", "NomeCompleto", model.ModuloId); model.ListaPerfil = new SelectList(perfilAppService.ListarPeloModulo(model.ModuloId), "Id", "Descricao", model.PerfilId); }