public IActionResult EditRoleEntityPermissions(Guid roleId) { if (roleId.IsEmpty()) { return(NotFound()); } var entityGroups = _dataFinder.RetrieveAll("entitygroup", new List <string> { "name" }, new OrderExpression { AttributeName = "name", OrderType = OrderType.Ascending }); EditRoleEntityPermissionsModel model = new EditRoleEntityPermissionsModel { ResourceName = DataAuthorizationDefaults.ModuleName, Role = _roleService.FindById(roleId), RoleId = roleId, RoleObjectAccess = _roleObjectAccessService.QueryRolePermissions(roleId, DataAuthorizationDefaults.ModuleName), EntityPermissions = _entityPermissionService.Query(x => x .Sort(n => n.SortAscending(s => s.Name)) ), Entities = _entityFinder.Query(x => x.Where(n => n.AuthorizationEnabled == true) .Sort(n => n.SortAscending(s => s.Name)) ), EntityGroups = entityGroups }; return(DynamicResult(model, $"~/Views/Security/{WebContext.ActionName}.cshtml")); }
public IActionResult Get([FromQuery] RetrieveEntityModel model) { FilterContainer <Schema.Domain.Entity> filter = FilterContainerBuilder.Build <Schema.Domain.Entity>(); filter.And(x => x.OrganizationId == CurrentUser.OrganizationId); if (model.Name.NotEmpty()) { filter.And(x => x.Name.In(model.Name)); } if (model.IsAuthorization.HasValue) { filter.And(x => x.AuthorizationEnabled == model.IsAuthorization.Value); } if (model.IsCustomizable.HasValue) { filter.And(x => x.IsCustomizable == model.IsCustomizable.Value); } if (model.IsLoged.HasValue) { filter.And(x => x.LogEnabled == model.IsLoged.Value); } if (model.DuplicateEnabled.HasValue) { filter.And(x => x.DuplicateEnabled == model.DuplicateEnabled.Value); } if (model.WorkFlowEnabled.HasValue) { filter.And(x => x.WorkFlowEnabled == model.WorkFlowEnabled.Value); } if (model.BusinessFlowEnabled.HasValue) { filter.And(x => x.BusinessFlowEnabled == model.BusinessFlowEnabled.Value); } if (model.GetAll) { model.PageSize = 25000; } else if (!model.PageSizeBySeted && CurrentUser.UserSettings.PagingLimit > 0) { model.PageSize = CurrentUser.UserSettings.PagingLimit; } model.PageSize = model.PageSize > WebContext.PlatformSettings.MaxFetchRecords ? WebContext.PlatformSettings.MaxFetchRecords : model.PageSize; List <Schema.Domain.Entity> result; if (model.SolutionId.HasValue) { var pagedResult = _entityFinder.QueryPaged(x => x .Page(1, model.PageSize) .Where(filter), model.SolutionId.Value, true); result = pagedResult.Items; } else { result = _entityFinder.Query(x => x .Where(filter)); } return(JOk(result)); }
public IActionResult Get([FromQuery] RetrieveEntityModel model) { FilterContainer <Schema.Domain.Entity> filter = FilterContainerBuilder.Build <Schema.Domain.Entity>(); filter.And(x => x.OrganizationId == CurrentUser.OrganizationId); if (model.Name.NotEmpty()) { filter.And(x => x.Name.In(model.Name)); } if (model.AuthorizationEnabled.HasValue) { filter.And(x => x.AuthorizationEnabled == model.AuthorizationEnabled.Value); } if (model.IsCustomizable.HasValue) { filter.And(x => x.IsCustomizable == model.IsCustomizable.Value); } if (model.LogEnabled.HasValue) { filter.And(x => x.LogEnabled == model.LogEnabled.Value); } if (model.DuplicateEnabled.HasValue) { filter.And(x => x.DuplicateEnabled == model.DuplicateEnabled.Value); } if (model.WorkFlowEnabled.HasValue) { filter.And(x => x.WorkFlowEnabled == model.WorkFlowEnabled.Value); } if (model.BusinessFlowEnabled.HasValue) { filter.And(x => x.BusinessFlowEnabled == model.BusinessFlowEnabled.Value); } List <Schema.Domain.Entity> result; if (model.SolutionId.HasValue) { var pagedResult = _entityFinder.QueryPaged(x => x .Page(1, 250000) .Where(filter), model.SolutionId.Value, true); result = pagedResult.Items; } else { result = _entityFinder.Query(x => x .Where(filter)); } return(JOk(result)); }
public IActionResult AppendRecord(Guid entityid, Guid recordid) { AppendRecordModel model = new AppendRecordModel { EntityId = entityid, ObjectId = recordid, EntityMaps = _entityMapFinder.Query(n => n.Where(f => f.SourceEntityId == entityid && f.StateCode == RecordState.Enabled)) }; if (model.EntityMaps.NotEmpty()) { var targetIds = model.EntityMaps.Select(n => n.TargetEntityId); model.TargetEntityMetas = _entityFinder.Query(n => n.Where(f => f.EntityId.In(targetIds))); } return(View($"~/Views/Entity/{WebContext.ActionName}.cshtml", model)); }
/// <summary> /// This is an internal API that supports the Entity Framework Core infrastructure and not subject to /// the same compatibility standards as public APIs. It may be changed or removed without notice in /// any release. You should only use it directly in your code with extreme caution and knowing that /// doing so can result in application failures when updating to a new Entity Framework Core release. /// </summary> public virtual IQueryable Query(InternalEntityEntry entry) => _entityFinder.Query(_navigation, entry);