public IEditorConfigurationItemViewModel VisitItemsGroup(IItemsGroup itemsGroup) { var res = _container.Resolve <IConfigurationGroupEditorViewModel>(); if (itemsGroup != null) { res.ChildStructItemViewModels.Clear(); foreach (IConfigurationItem configurationItem in itemsGroup.ConfigurationItemList) { res.IsCheckable = true; res.ChildStructItemViewModels.Add(configurationItem.Accept(this.WithParent(res))); } if (itemsGroup.GroupInfo is IGroupWithReiterationInfo groupWithReiterationInfo) { res.SetIsGroupWithReiteration(true); res.ReiterationStep = groupWithReiterationInfo.ReiterationStep; groupWithReiterationInfo.SubGroups.ForEach(info => res.SubGroupNames.Add(new StringWrapper(info.Name))); } if (itemsGroup.GroupFilter != null) { var filterFillHelper = _container.Resolve <FilterFillHelper>(); res.FilterViewModels.AddCollection(itemsGroup.GroupFilter.Filters .Select(filter => filterFillHelper.CreateFilterViewModel(filter))); } res.IsMain = itemsGroup.IsMain ?? false; res.IsTableViewAllowed = itemsGroup.IsTableViewAllowed; } InitializeBaseProperties(res, itemsGroup); return(res); }
public Result VisitItemsGroup(IItemsGroup itemsGroup) { foreach (var itemGroup in itemsGroup.ConfigurationItemList) { itemGroup.Accept(this); } return(Result.Create(true)); }
public async Task VisitItemsGroup(IItemsGroup itemsGroup) { if (itemsGroup.GroupInfo is IGroupWithReiterationInfo groupWithReiterationInfo && groupWithReiterationInfo.IsReiterationEnabled) { int offset = _offset; foreach (var subGroup in groupWithReiterationInfo.SubGroups) { foreach (var configurationItemInGroup in itemsGroup.ConfigurationItemList) { await configurationItemInGroup.Accept(new MemoryReaderVisitor(_configuration, _deviceContext, offset, _triggerSubscriptions)); } offset += groupWithReiterationInfo.ReiterationStep; } }
public async Task VisitItemsGroup(IItemsGroup itemsGroup) { if (itemsGroup.GroupInfo is IGroupWithReiterationInfo groupWithReiterationInfo && groupWithReiterationInfo.IsReiterationEnabled) { int offset = _offset; foreach (var subGroup in groupWithReiterationInfo.SubGroups) { foreach (var configurationItemInGroup in itemsGroup.ConfigurationItemList) { await configurationItemInGroup.Accept(new MemoryWriterVisitor(_deviceContext, _writtenAddresses, _configuration, offset)); } offset += groupWithReiterationInfo.ReiterationStep; } }
public IConfigurationItem ResolveGroupConfigurationItem() { IItemsGroup group = _container.Resolve(typeof(IItemsGroup)) as IItemsGroup; return(group); }
public async Task <FactoryResult <IRuntimeConfigurationItemViewModel> > VisitItemsGroup(IItemsGroup itemsGroup) { var res = _container.Resolve <IRuntimeItemGroupViewModel>() as RuntimeItemGroupViewModel; res.ChildStructItemViewModels.Clear(); if (itemsGroup.GroupInfo is IGroupWithReiterationInfo groupWithReiterationInfo && groupWithReiterationInfo.IsReiterationEnabled) { int offset = AddressOffset; foreach (var subGroupInfo in groupWithReiterationInfo.SubGroups) { var subGroup = _container.Resolve <IRuntimeItemGroupViewModel>(); subGroup.Description = itemsGroup.Description; subGroup.Header = subGroupInfo.Name; if (Parent != null) { subGroup.Parent = Parent; subGroup.Level = Parent.Level + 1; } foreach (IConfigurationItem configurationItem in itemsGroup.ConfigurationItemList) { await(await configurationItem.Accept(this.WithParent(subGroup) .WithOffset(offset))).OnAddingNeeded(subGroup.ChildStructItemViewModels.Add); } res.ChildStructItemViewModels.Add(subGroup); subGroup.Offset = offset; offset += groupWithReiterationInfo.ReiterationStep; } }