public List <EditorValidationErrorViewModel> CheckItem(List <EditorValidationErrorViewModel> initialErrors, IConfigurationItemViewModel configurationEditorItemViewModel, IConfigurationEditorViewModel configurationEditorViewModel) { if (configurationEditorItemViewModel is IPropertyEditorViewModel propertyEditorViewModel && !(configurationEditorItemViewModel is IComplexPropertyEditorViewModel)) { if (propertyEditorViewModel.FormatterParametersViewModel == null || (propertyEditorViewModel.FormatterParametersViewModel.RelatedUshortsFormatterViewModel == null && !propertyEditorViewModel.FormatterParametersViewModel.IsFromSharedResources)) { initialErrors.Add(new EditorValidationErrorViewModel( $"{propertyEditorViewModel.Name} ({_localizerService.GetLocalizedString("Address")}:{propertyEditorViewModel.Address}): {_localizerService.GetLocalizedString(ApplicationGlobalNames.StatusMessages.EMPTY_FORMATTING_MESSAGE)}", Result <Action> .Create( () => { _formatterEditorFactory.EditFormatterByUser(propertyEditorViewModel, configurationEditorViewModel.RootConfigurationItemViewModels.ToList()); }, true))); } if (propertyEditorViewModel.FormatterParametersViewModel != null && propertyEditorViewModel.FormatterParametersViewModel.IsFromSharedResources && _sharedResourcesGlobalViewModel.GetResourceByName(propertyEditorViewModel .FormatterParametersViewModel.Name) == null) { initialErrors.Add(new EditorValidationErrorViewModel( $"{propertyEditorViewModel.Name} ({_localizerService.GetLocalizedString("Address")}:{propertyEditorViewModel.Address}): {_localizerService.GetLocalizedString(ApplicationGlobalNames.StatusMessages.FORMATTING_RESOURCE_NOT_FOUND_MESSAGE)}", Result <Action> .Create( () => { _formatterEditorFactory.EditFormatterByUser(propertyEditorViewModel, configurationEditorViewModel.RootConfigurationItemViewModels.ToList()); }, true))); } } if (configurationEditorItemViewModel is IConfigurationGroupEditorViewModel configurationGroupEditorViewModel ) { configurationGroupEditorViewModel.ChildStructItemViewModels.ForEach(model => CheckItem(initialErrors, model, configurationEditorViewModel)); } if (configurationEditorItemViewModel is IComplexPropertyEditorViewModel complexPropertyEditorViewModel) { complexPropertyEditorViewModel.SubPropertyEditorViewModels.ForEach(model => CheckItem(initialErrors, model, configurationEditorViewModel)); } return(initialErrors); }
public static IDeviceConfiguration CreateConfiguration( IConfigurationEditorViewModel configurationEditorViewModel) { var deviceConfiguration = StaticContainer.Container.Resolve <IDeviceConfiguration>(); deviceConfiguration.RootConfigurationItemList = configurationEditorViewModel.RootConfigurationItemViewModels .Select(model => (model as IEditorConfigurationItemViewModel).Accept( new SaveEditorConfigurationItemViewModelVisitor(StaticContainer.Container))).ToList(); deviceConfiguration.FragmentSettings = configurationEditorViewModel.FragmentSettingsViewModel.Model as IFragmentSettings; deviceConfiguration.BaseValues = StaticContainer.Container.Resolve <BaseValuesFillHelper>() .CreateConfigurationBaseValues(configurationEditorViewModel.BaseValuesViewModel); return(deviceConfiguration); }