public IActionResult SetRole(int userId, string actionName, string controllerName, bool permision, string controllerTitle, string actionTitle, string dependTo, string dependToTitle) { if (permision) { if (!string.IsNullOrEmpty(dependTo)) { if (!_context.UserAccesses.Any(c => c.UserId.Equals(userId) && c.ControllerName.Equals(controllerName) && c.ActionName.Equals(dependTo))) { _context.UserAccesses.Add(new UserAccess { ActionName = dependTo, ActionTitle = dependToTitle, ControllerName = controllerName, ControllerTitle = controllerTitle, UserId = userId }); } } _context.UserAccesses.Add(new UserAccess { ActionName = actionName, ControllerName = controllerName, UserId = userId, ActionTitle = actionTitle, ControllerTitle = controllerTitle }); } else { var actions = new SubSystemService() .GetAllActions_DependToAction(Assembly.GetExecutingAssembly(), controllerName, actionName); var userAccess = _context.UserAccesses.Where(c => c.UserId.Equals(userId) && c.ControllerName.Equals(controllerName) && actions.Contains(c.ActionName)) .ToList(); userAccess.ForEach(c => { _context.Remove(c); }); var entity = _context.UserAccesses .FirstOrDefault(c => c.UserId == userId && c.ControllerName == controllerName && c.ActionName == actionName); if (entity != null) { _context.Remove(entity); } } _context.SaveChanges(); return(RedirectToAction(nameof(Roles), new { id = userId })); }
Task <bool> IRequestHandler <UpdateSubSystemRequest, bool> .Handle(UpdateSubSystemRequest request, CancellationToken cancellationToken) { var existingSubSystem = SubSystemService.Get(request.SubSystem.Name); if (existingSubSystem == null) { throw new ApplicationException($"UpdateSystemHandler: System with Name {request.SubSystem.Name} does not exist."); } var checkDuplicate = SubSystemService.Get(request.SubSystem); if (checkDuplicate != null) { throw new ApplicationException($"UpdateSystemHandler: System with Name {request.SubSystem.Name} already exist."); } //AutoMapper to Map the fields Mapper.Map(request.SubSystem, existingSubSystem); using (var ts = new TransactionScope()) { var updatedSubSystem = SubSystemService.Update(existingSubSystem); ts.Complete(); } return(Task.FromResult(true)); }
public IActionResult Roles(int id) { var userAccess = _context .UserAccesses .Where(c => c.UserId.Equals(id)) .ToList(); var modules = new SubSystemService() .GetAllWithPermision(Assembly.GetExecutingAssembly(), userAccess); ViewBag.UserId = id; return(View(modules)); }
public IActionResult Index() { var strUserId = HttpContext.User.Claims.FirstOrDefault(c => c.Type == ClaimTypes.NameIdentifier)?.Value; var userId = Convert.ToInt32(strUserId); var userAccess = _context .UserAccesses .Where(c => c.UserId.Equals(userId)) .ToList(); var modules = new SubSystemService() .GetAllWithPermision(Assembly.GetExecutingAssembly(), userAccess); return(View(modules)); }