public void DeletePermission(SubdivisionPermissionNode deletedPermission) { if (deletedPermission == null) { return; } ObservableTypeOfEntitiesList.Add(deletedPermission.TypeOfEntity); PermissionListViewModel.PermissionsList.Remove(deletedPermission); uow.Delete(deletedPermission.EntitySubdivisionOnlyPermission); foreach (var permission in deletedPermission.EntityPermissionExtended) { uow.Delete(permission); } SortTypeOfEntityList(); }
public void AddPermission(TypeOfEntity entityNode) { if (entityNode == null) { return; } ObservableTypeOfEntitiesList.Remove(entityNode); SubdivisionPermissionNode savedPermission; var foundOriginalPermission = originalPermissionList.FirstOrDefault(x => x.TypeOfEntity == entityNode); if (foundOriginalPermission == null) { savedPermission = new SubdivisionPermissionNode(); savedPermission.EntitySubdivisionOnlyPermission = new EntitySubdivisionOnlyPermission { Subdivision = subdivision, TypeOfEntity = entityNode }; savedPermission.EntityPermissionExtended = new List <EntitySubdivisionPermissionExtended>(); foreach (var item in ExtensionStore.PermissionExtensions) { var node = new EntitySubdivisionPermissionExtended(); node.Subdivision = subdivision; node.TypeOfEntity = entityNode; node.PermissionId = item.PermissionId; savedPermission.EntityPermissionExtended.Add(node); } savedPermission.TypeOfEntity = entityNode; PermissionListViewModel.PermissionsList.Add(savedPermission); } else { savedPermission = foundOriginalPermission; PermissionListViewModel.PermissionsList.Add(savedPermission); } }