Beispiel #1
0
        public async Task SendRequestAsync(QueryProcessRequest <IEntityValue> request)
        {
            Requires.NotNull(request, nameof(request));

            if ((request.RequestData as IEntityValueFromProvider)?.ProviderState is ValueEditor editor)
            {
                try
                {
                    foreach (IEntityValue metadataValue in UIEditorMetadataProducer.CreateMetadataValues(request.RequestData.EntityRuntime, editor, _properties))
                    {
                        await ResultReceiver.ReceiveResultAsync(new QueryProcessResult <IEntityValue>(metadataValue, request, ProjectModelZones.Cps));
                    }
                }
                catch (Exception ex)
                {
                    request.QueryExecutionContext.ReportError(ex);
                }
            }

            await ResultReceiver.OnRequestProcessFinishedAsync(request);
        }
        public void WhenCreatingMetadataFromAnEditor_AllMetadataIsReturned()
        {
            var properties = PropertiesAvailableStatusFactory.CreateUIEditorMetadataAvailableStatus(
                includeName: true,
                includeValue: true);

            var parentEntity = IEntityWithIdFactory.Create("ParentKey", "ParentKeyValue");
            var editor       = new ValueEditor
            {
                Metadata =
                {
                    new() { Name = "Alpha", Value = "A" },
                    new() { Name = "Beta",  Value = "B" }
                }
            };

            var results = UIEditorMetadataProducer.CreateMetadataValues(
                parentEntity,
                editor,
                properties);

            Assert.Contains(results, entity => entity is UIEditorMetadataValue metadata && metadata.Name == "Alpha" && metadata.Value == "A");
            Assert.Contains(results, entity => entity is UIEditorMetadataValue metadata && metadata.Name == "Beta" && metadata.Value == "B");
        }
Beispiel #3
0
 protected override Task <IEnumerable <IEntityValue> > CreateValuesAsync(IEntityValue parent, ValueEditor providerState)
 {
     return(Task.FromResult(UIEditorMetadataProducer.CreateMetadataValues(parent, providerState, _properties)));
 }