public bool EditarRol(int ClienteId, ReportingRoles Rol, List <int> Permisos) { try { ReportingRoles rol = context.ReportingRoles.FirstOrDefault(r => r.idCliente == ClienteId && r.id == Rol.id); if (rol == null) { return(false); } context.ReportingRolPermisos.RemoveRange(rol.ReportingRolPermisos); foreach (var p in Permisos) { rol.ReportingRolPermisos.Add(new ReportingRolPermisos() { idPermiso = p, idRol = rol.id }); } context.Entry(rol).State = EntityState.Modified; context.SaveChanges(); return(true); } catch { return(false); } }
public ActionResult EditarRol(ConfRolVM model) { try { int ClienteId = GetClienteSeleccionado(); if (ModelState.IsValid) { ReportingRoles rol = usuarioRepository.GetRolById(model.Id, ClienteId); if (rol == null) { return(View("RolNoEncontrado")); } rol.nombre = model.Nombre; List <int> permisos = model.Permisos.Where(p => p.Seleccionado).Select(p => p.Id).ToList(); if (usuarioRepository.EditarRol(ClienteId, rol, permisos)) { ViewBag.Success = true; return(View(model)); } ViewBag.Error = true; ViewBag.ErrorMessage = Resources.Configuracion.reviseSiDatosSonCorrectos; return(View(model)); } else { ViewBag.Error = true; ViewBag.ErrorMessage = Resources.Configuracion.reviseSiDatosSonCorrectos; return(View(model)); } } catch { return(View("Error")); } }
public ActionResult EditarRol(int?Id) { if (Id == null) { return(View("RolNoEncontrado")); } int ClienteId = GetClienteSeleccionado(); ReportingRoles rol = usuarioRepository.GetRolById((int)Id, ClienteId); if (rol == null) { return(View("RolNoEncontrado")); } ConfRolVM model = new ConfRolVM() { Id = rol.id, Nombre = rol.nombre }; List <ReportingPermisos> permisos = usuarioRepository.GetPermisos(); model.Permisos = permisos.Select(p => new ConfPermisoVM { Id = p.id, Nombre = p.permiso, Seleccionado = false }).ToList(); foreach (var per in rol.ReportingRolPermisos) { if (model.Permisos.Any(p => p.Id == per.idPermiso)) { model.Permisos.First(p => p.Id == per.idPermiso).Seleccionado = true; } } return(View(model)); }