public IPresentationSettings SavePresentationSettings( PresentationSettingsViewModel presentationSettingsViewModel) { var res = StaticContainer.Container.Resolve <IPresentationSettings>(); res.GroupsOfElements = presentationSettingsViewModel.PresentationElementViewModels .Where(model => model.TemplatedViewModelToShowOnCanvas is PresentationGroupViewModel).Select(model => { var group = StaticContainer.Container.Resolve <IMeasuringPresentationGroup>(); group.PositioningInfo = SavePositioningInfo(model.PositioningInfoViewModel); SaveTemplatedItemOnCanvas(group, model.TemplatedViewModelToShowOnCanvas as PresentationGroupViewModel); return(group); }).ToList(); res.Elements = presentationSettingsViewModel.PresentationElementViewModels .Where(model => !(model.TemplatedViewModelToShowOnCanvas is PresentationGroupViewModel)).Select(model => { var presentationInfo = StaticContainer.Container.Resolve <IMeasuringElementPresentationInfo>(); presentationInfo.PositioningInfo = SavePositioningInfo(model.PositioningInfoViewModel); presentationInfo.RelatedMeasuringElementId = (model.TemplatedViewModelToShowOnCanvas as IUniqueId).Id; return(presentationInfo); }).ToList(); return(res); }
public PresentationSettingsViewModel CreatePresentationSettingsViewModel(IMeasuringGroup measuringGroup, IMeasuringGroupEditorViewModel measuringGroupEditorViewModel) { var res = new PresentationSettingsViewModel(measuringGroupEditorViewModel, CreatePositioningInfoViewModels(measuringGroup.PresentationSettings)); if (measuringGroup?.PresentationSettings != null) { foreach (var groupsOfElement in measuringGroup?.PresentationSettings?.GroupsOfElements) { var presentationGroupViewModel = new PresentationGroupViewModel() { Header = groupsOfElement.Name }; res.PresentationElementViewModels.Add(new PresentationElementViewModel( presentationGroupViewModel) { PositioningInfoViewModel = InitializePositioningInfo(groupsOfElement.PositioningInfo, new PresentationPositionChangedSubscription(presentationGroupViewModel, res)) }); } } return(res); }
public PresentationPositionChangedSubscription(PresentationGroupViewModel presentationGroupViewModel, PresentationSettingsViewModel presentationSettingsViewModel) { _presentationGroupViewModel = presentationGroupViewModel; _presentationSettingsViewModel = presentationSettingsViewModel; }