public async Task <ApiResult> Handle(InsertClassifierType request, CancellationToken cancellationToken) { if (request.UserUid == Guid.Empty) { throw new InvalidOperationException("User is required."); } var item = request.Item ?? throw new ArgumentNullException(nameof(request.Item)); using (var scope = _unitOfWorkFactory.Create()) { var insertTypeResult = await _classifierTypeService.Insert(item, cancellationToken); if (insertTypeResult.Success == false) { return(insertTypeResult); } var insertFieldResult = await _metadataService.Insert(new ManageFieldMetadataRequest { EntityTypeCode = ClassifierType.TypeCode, // ReSharper disable once PossibleInvalidOperationException EntityUid = insertTypeResult.Uid.Value, Items = ClassifierMetadata.GetDefaultFields() }, cancellationToken); if (insertFieldResult.Success) { scope.Commit(); } return(insertTypeResult); } }
public static RegisterClassifierType GetDefaultMetadata() { return(new() { Item = new ClassifierType { Code = ClassifierTypeCode.Role, Name = "Roles", HierarchyType = HierarchyType.Groups, IsSystem = true }, Fields = ClassifierMetadata.GetDefaultFields().ToList() }); }
protected static IEnumerable <RegisterClassifierType> GetCommands() { yield return(Role.GetDefaultMetadata()); yield return(User.GetDefaultMetadata()); yield return(new RegisterClassifierType { Item = new ClassifierType { Code = ClassifierTypeCode.Permission, Name = "Permissions", HierarchyType = HierarchyType.Groups, IsSystem = true }, Fields = ClassifierMetadata.GetDefaultFields().ToList() }); }