public Maybe <List <TagBuilder> > RenderHtmlFromItem(IConfigurationItemViewModel configurationItem, SelectorForItemsGroup selectorForItemsGroup, int depthLevel = 0) { IRuntimePropertyViewModel defaultProperty = configurationItem as IRuntimePropertyViewModel; return(Maybe <List <TagBuilder> > .FromValue(new List <TagBuilder>() { ConfigTableRowRenderer .Create() .SetDepth(depthLevel) .SetName(new RenderData(defaultProperty.Header)) .SetDeviceData(Result <string> .Create(() => defaultProperty.DeviceValue.AsString(), defaultProperty.DeviceValue != null)) .SetLocalData(Result <string> .Create(() => defaultProperty.LocalValue .AsString(), defaultProperty.LocalValue != null)) .SetRange(Result <string> .Create( $"[{defaultProperty.RangeViewModel.RangeFrom} : {defaultProperty.RangeViewModel.RangeTo}]", defaultProperty.IsRangeEnabled)) .SetMeasureUnit(Result <string> .Create(defaultProperty.MeasureUnit, defaultProperty.IsMeasureUnitEnabled)) .SetSelectors(selectorForItemsGroup.IsPrintDeviceValuesAllowed, selectorForItemsGroup.IsPrintLocalValuesAllowed) .Render() })); }
private void InitializeProperty(IRuntimePropertyViewModel runtimePropertyViewModel, IProperty property) { runtimePropertyViewModel.IsMeasureUnitEnabled = property.IsMeasureUnitEnabled; runtimePropertyViewModel.MeasureUnit = property.MeasureUnit; runtimePropertyViewModel.RangeViewModel = _container.Resolve <IRangeViewModel>(); runtimePropertyViewModel.IsRangeEnabled = property.IsRangeEnabled; if (property.IsRangeEnabled) { runtimePropertyViewModel.RangeViewModel.RangeFrom = property.Range.RangeFrom.ToString(); runtimePropertyViewModel.RangeViewModel.RangeTo = property.Range.RangeTo.ToString(); } runtimePropertyViewModel.Address = property.Address; if (runtimePropertyViewModel is IDeviceContextConsumer deviceContextConsumer) { deviceContextConsumer.DeviceContext = _deviceContext; } if (runtimePropertyViewModel is ICanBeHidden canBeHidden) { canBeHidden.IsHidden = property.IsHidden; } runtimePropertyViewModel.IsFromBits = property.IsFromBits; runtimePropertyViewModel.NumberOfPoints = property.NumberOfPoints; property.BitNumbers.ForEach(obj => runtimePropertyViewModel.BitNumbersInWord.First(model => model.BitNumber == obj).IsChecked = true); InitializeBaseProperties(runtimePropertyViewModel, property); }