Ejemplo n.º 1
0
        public void VerifyThatRdlShortnameIsUpdated()
        {
            var vm = new ParameterTypesBrowserViewModel(this.session.Object, this.siteDirectory, null, null, null, null,
                                                        this.favoritesService.Object);

            var sRdl = new SiteReferenceDataLibrary(Guid.NewGuid(), this.assembler.Cache, this.uri);

            sRdl.Container = this.siteDirectory;

            var cat = new BooleanParameterType(Guid.NewGuid(), this.assembler.Cache, this.uri)
            {
                Name      = "cat1",
                ShortName = "1",
                Container = sRdl
            };
            var cat2 = new BooleanParameterType(Guid.NewGuid(), this.assembler.Cache, this.uri)
            {
                Name      = "cat2",
                ShortName = "2",
                Container = sRdl
            };

            CDPMessageBus.Current.SendObjectChangeEvent(cat, EventKind.Added);
            CDPMessageBus.Current.SendObjectChangeEvent(cat2, EventKind.Added);

            var rev = typeof(Thing).GetProperty("RevisionNumber");

            rev.SetValue(sRdl, 3);
            sRdl.ShortName = "test";

            CDPMessageBus.Current.SendObjectChangeEvent(sRdl, EventKind.Updated);
            Assert.IsTrue(vm.ParameterTypes.Count(x => x.ContainerRdl == "test") == 2);
        }
Ejemplo n.º 2
0
        public void VerifyThatParametertypesFromExistingRdlsAreLoaded()
        {
            var siterefenceDataLibrary = new SiteReferenceDataLibrary(Guid.NewGuid(), null, null);
            var pt1 = new TextParameterType(Guid.NewGuid(), null, null);
            var pt2 = new TextParameterType(Guid.NewGuid(), null, null);

            siterefenceDataLibrary.ParameterType.Add(pt1);
            siterefenceDataLibrary.ParameterType.Add(pt2);
            this.siteDirectory.SiteReferenceDataLibrary.Add(siterefenceDataLibrary);

            var engineeringModelSetup     = new EngineeringModelSetup(Guid.NewGuid(), null, null);
            var modelReferenceDataLibrary = new ModelReferenceDataLibrary(Guid.NewGuid(), null, null);
            var pt3 = new BooleanParameterType(Guid.NewGuid(), null, null);
            var pt4 = new BooleanParameterType(Guid.NewGuid(), null, null);

            modelReferenceDataLibrary.ParameterType.Add(pt3);
            modelReferenceDataLibrary.ParameterType.Add(pt4);
            engineeringModelSetup.RequiredRdl.Add(modelReferenceDataLibrary);
            this.siteDirectory.Model.Add(engineeringModelSetup);
            this.session.Setup(x => x.OpenReferenceDataLibraries).Returns(
                new HashSet <ReferenceDataLibrary>(this.siteDirectory.SiteReferenceDataLibrary)
            {
                modelReferenceDataLibrary
            });

            var browser = new ParameterTypesBrowserViewModel(this.session.Object, this.siteDirectory, null, null, null,
                                                             null, this.favoritesService.Object);

            Assert.AreEqual(4, browser.ParameterTypes.Count);
            Assert.IsNotNull(browser.ParameterTypes.First().Thing);

            browser.Dispose();
            Assert.IsNull(browser.ParameterTypes.First().Thing);
        }
Ejemplo n.º 3
0
        /// <summary>
        /// The event-handler that is invoked by the subscription that listens for updates
        /// on the <see cref="Session"/> that is being represented by the view-model
        /// </summary>
        /// <param name="sessionChange">
        /// The payload of the event that is being handled
        /// </param>
        private void SessionChangeEventHandler(SessionEvent sessionChange)
        {
            if (this.FluentRibbonManager == null)
            {
                return;
            }

            if (!this.FluentRibbonManager.IsActive)
            {
                return;
            }

            if (sessionChange.Status == SessionStatus.Open)
            {
                var session       = sessionChange.Session;
                var siteDirectory = session.RetrieveSiteDirectory();

                this.measurementUnitsBrowserViewModel  = new MeasurementUnitsBrowserViewModel(session, siteDirectory, this.ThingDialogNavigationService, this.PanelNavigationService, this.DialogNavigationService, this.PluginSettingsService);
                this.measurementScalesBrowserViewModel = new MeasurementScalesBrowserViewModel(session, siteDirectory, this.ThingDialogNavigationService, this.PanelNavigationService, this.DialogNavigationService, this.PluginSettingsService);
                this.rulesBrowserViewModel             = new RulesBrowserViewModel(session, siteDirectory, this.ThingDialogNavigationService, this.PanelNavigationService, this.DialogNavigationService, this.PluginSettingsService);
                this.categoryBrowserViewModel          = new CategoryBrowserViewModel(session, siteDirectory, this.ThingDialogNavigationService, this.PanelNavigationService, this.DialogNavigationService, this.PluginSettingsService);
                this.parameterTypesBrowserViewModel    = new ParameterTypesBrowserViewModel(session, siteDirectory, this.ThingDialogNavigationService, this.PanelNavigationService, this.DialogNavigationService, this.PluginSettingsService, this.FavoritesService);

                this.Session = session;
            }

            if (sessionChange.Status == SessionStatus.Closed)
            {
                this.CloseAll();
                this.Session = null;
            }
        }
Ejemplo n.º 4
0
        public void Setup()
        {
            this.session = new Mock <ISession>();
            this.panelNavigationService  = new Mock <IPanelNavigationService>();
            this.dialogNavigationService = new Mock <IThingDialogNavigationService>();

            this.permissionService = new Mock <IPermissionService>();
            this.session.Setup(x => x.PermissionService).Returns(this.permissionService.Object);
            this.permissionService.Setup(x => x.CanRead(It.IsAny <Thing>())).Returns(true);
            this.permissionService.Setup(x => x.CanWrite(It.IsAny <Thing>())).Returns(true);
            this.permissionService.Setup(x => x.CanWrite(It.IsAny <ClassKind>(), It.IsAny <Thing>())).Returns(true);
            this.uri       = new Uri("http://test.com");
            this.assembler = new Assembler(this.uri);

            this.siteDirectory = new SiteDirectory(Guid.NewGuid(), this.assembler.Cache, this.uri)
            {
                Name = "site directory"
            };
            this.person = new Person(Guid.NewGuid(), this.assembler.Cache, this.uri)
            {
                GivenName = "John", Surname = "Doe"
            };
            this.session.Setup(x => x.ActivePerson).Returns(this.person);
            this.session.Setup(x => x.Assembler).Returns(this.assembler);

            this.ParameterTypesBrowserViewModel = new ParameterTypesBrowserViewModel(this.session.Object, this.siteDirectory, this.dialogNavigationService.Object, this.panelNavigationService.Object, null, null);
        }
        public void Setup()
        {
            this.serviceLocator = new Mock <IServiceLocator>();
            ServiceLocator.SetLocatorProvider(() => this.serviceLocator.Object);

            this.session = new Mock <ISession>();
            this.panelNavigationService  = new Mock <IPanelNavigationService>();
            this.dialogNavigationService = new Mock <IThingDialogNavigationService>();
            this.filterStringService     = new Mock <IFilterStringService>();
            this.permissionService       = new Mock <IPermissionService>();

            this.serviceLocator.Setup(x => x.GetInstance <IFilterStringService>()).Returns(this.filterStringService.Object);

            this.session.Setup(x => x.PermissionService).Returns(this.permissionService.Object);
            this.permissionService.Setup(x => x.CanRead(It.IsAny <Thing>())).Returns(true);
            this.permissionService.Setup(x => x.CanWrite(It.IsAny <Thing>())).Returns(true);
            this.permissionService.Setup(x => x.CanWrite(It.IsAny <ClassKind>(), It.IsAny <Thing>())).Returns(true);
            this.favoritesService = new Mock <IFavoritesService>();

            this.favoritesService.Setup(x => x.GetFavoriteItemsCollectionByType(It.IsAny <ISession>(), It.IsAny <Type>()))
            .Returns(new HashSet <Guid>());

            this.favoritesService.Setup(x =>
                                        x.SubscribeToChanges(It.IsAny <ISession>(), It.IsAny <Type>(), It.IsAny <Action <HashSet <Guid> > >())).Returns(new Mock <IDisposable>().Object);

            this.uri       = new Uri("http://test.com");
            this.assembler = new Assembler(this.uri);

            this.siteDirectory =
                new SiteDirectory(Guid.NewGuid(), this.assembler.Cache, this.uri)
            {
                Name = "site directory"
            };

            this.person =
                new Person(Guid.NewGuid(), this.assembler.Cache, this.uri)
            {
                GivenName = "John", Surname = "Doe"
            };

            this.session.Setup(x => x.ActivePerson).Returns(this.person);
            this.session.Setup(x => x.Assembler).Returns(this.assembler);

            this.ParameterTypesBrowserViewModel = new ParameterTypesBrowserViewModel(this.session.Object,
                                                                                     this.siteDirectory, this.dialogNavigationService.Object, this.panelNavigationService.Object, null, null,
                                                                                     this.favoritesService.Object);
        }
Ejemplo n.º 6
0
        /// <summary>
        /// Close all the panels and dispose of them
        /// </summary>
        private void CloseAll()
        {
            this.PanelNavigationService.CloseInAddIn(this.measurementUnitsBrowserViewModel);
            this.measurementUnitsBrowserViewModel = null;

            this.PanelNavigationService.CloseInAddIn(this.measurementScalesBrowserViewModel);
            this.measurementScalesBrowserViewModel = null;

            this.PanelNavigationService.CloseInAddIn(this.rulesBrowserViewModel);
            this.rulesBrowserViewModel = null;

            this.PanelNavigationService.CloseInAddIn(this.categoryBrowserViewModel);
            this.categoryBrowserViewModel = null;

            this.PanelNavigationService.CloseInAddIn(this.parameterTypesBrowserViewModel);
            this.parameterTypesBrowserViewModel = null;
        }