public ActionResult CreatePermission(NewAppPermissionViewModel model) { using (var context = new AppSecurityContext()) { var actionRepository = new ActionRepository(context); var resourceRepository = new ResourceRepository(context); var permissionRepository = new PermissionRepository(context); try { var resource = resourceRepository.Find(model.SelectedResource); var actions = actionRepository.Query(x => model.SelectedActions.Contains(x.Key)); foreach (var action in actions) { var permission = new AppPermission(); permission.Action = action; permission.Resource = resource; permissionRepository.Add(permission); } context.SaveChanges(); return(RedirectToAction("Permissions")); } catch (Exception ex) { ViewBag.Error = ex.Message; var actions = actionRepository.GetAll().OrderBy(x => x.Name); model.AvailableActions = mapper.Map <ICollection <AppActionViewModel> >(actions); model.ResourcesList = PopulateResourcesForNewPermission(model.SelectedResource); return(View(model)); } } }
public bool AddPermission(PermissionDTO model) { var permission = model.Map <Permission>(); _eventPublisher.EntityInserted(permission);//清缓存 return(_permissionRepository.Add(permission)); }
public void Deveria_Adicionar_Uma_Permissao() { PermissionRepository.Add(ObjectBuilder.CreatePermission()); Uow.Commit(); var list = PermissionRepository.GetAll(); Assert.AreEqual(9, list.Count); }
public ActionResult EditPermission(string id, EditAppPermissionViewModel model) { //Clave del resource using (var context = new AppSecurityContext()) { var actionRepository = new ActionRepository(context); var resourceRepository = new ResourceRepository(context); var permissionRepository = new PermissionRepository(context); try { var actions = actionRepository.GetAll(); var resource = resourceRepository.Find(id); var permissions = permissionRepository.GetAll().Where(x => x.ResourceKey == resource.Key); var actionKeys = permissions.Select(x => x.ActionKey).ToArray(); model.AvailableActions = mapper.Map <ICollection <AppActionViewModel> >(actions); //Se eliminan los permisos anteriores foreach (var perm in permissions) { permissionRepository.Delete(perm); } if (model.SelectedActions != null) { //Se agregan los nuevos var actionsForInsert = actionRepository.Query(x => model.SelectedActions.Contains(x.Key)); foreach (var action in actionsForInsert) { var permission = new AppPermission(); permission.Action = action; permission.Resource = resource; permissionRepository.Add(permission); } model.SelectedActions = actionKeys; model.ResourceKey = resource.Key; model.ResourceName = resource.Name; } context.SaveChanges(); return(RedirectToAction("Permissions")); } catch (Exception ex) { ViewBag.Error = ex.Message; if (ex.InnerException != null) { ViewBag.Error += ex.InnerException.Message; } return(View(model)); } } }
public void Agregar(PermissionViewModel pPermissionViewModel) { permissions opermissions = new permissions { id_permission = 0, name = pPermissionViewModel.name, title = pPermissionViewModel.title, is_only_for_super_admin = 0, date_created = DateTime.Now, user_id_created = pPermissionViewModel.user_id_created }; oRepositorio.Add(opermissions); oUnitOfWork.SaveChanges(); }
public void SubmitForm(RoleInputDto roleInputDto, string[] resourceIdsArray, string keyValue) { Role role = new Role(); long id = Convert.ToInt64(keyValue); if (!string.IsNullOrEmpty(keyValue)) { role = roleRepository.Get(id); AutoMapper.Mapper.Map <RoleInputDto, Role>(roleInputDto, role); role.LastModificationTime = DateTime.Now; roleRepository.Update(role); } else { AutoMapper.Mapper.Map <RoleInputDto, Role>(roleInputDto, role); role.Id = IdWorkerHelper.GenId64(); role.CreationTime = DateTime.Now; roleRepository.Add(role); } permissionRepository.Delete(new Specification <Permission>(p => p.ObjectId.Equals(id))); List <Permission> permissionList = new List <Permission>(); foreach (var resourceId in resourceIdsArray) { Permission permission = new Permission(); permission.Id = IdWorkerHelper.GenId64(); permission.ResourceId = Convert.ToInt64(resourceId); permission.ObjectId = id; permission.ObjectType = "RolePermission"; permission.CreationTime = DateTime.Now; permission.DeletedMark = false; permissionList.Add(permission); Debug.WriteLine(permission.Id); } permissionRepository.Add(permissionList); }
public async Task <Permission> Create([FromBody] Permission model) { return(await _permissionRepository.Add(model)); }