Esempio n. 1
0
        public async override Task Initialize()
        {
            _logger.Info("Initialize() of DemoModuleBViewModel called");

            DisplayName = "DemoModule B (" + ModuleKey + ")";

            await EnsureValidWcfClient();

            AlarmSummaryViewModel = _alarmManagementFactory.CreateAlarmSummaryViewModel(ModuleKey);

            _eventAggregator.Subscribe(this);
        }
        public override async Task Initialize()
        {
            await EnsureValidConfigurationServiceWcfConnection();
            await EnsureValidCommonServicesWcfConnection();

            IList <ModuleVertexViewModelBase> nodePositions = new List <ModuleVertexViewModelBase>();

            string positionsXml = String.Empty;

            try
            {
                positionsXml = await _configurationServiceClient.GetValueAsync(VertexPositionsConfig);
            }
            catch (FaultException e)
            {
                _logger.Error("Could not load vertex positions from remote config", e);
            }

            if (!String.IsNullOrEmpty(positionsXml))
            {
                var serializer        = new XmlSerializer(typeof(List <ModuleVertexViewModelBase>));
                var stringReaderPaper = new StringReader(positionsXml);
                nodePositions = (List <ModuleVertexViewModelBase>)serializer.Deserialize(stringReaderPaper);
            }

            var graphDto = await GetModuleGraphFromServer();

            ModuleGraph = GraphBuilder.BuildGraph(_logger, graphDto, nodePositions, true);

            _logger.Debug("Creating AlarmSummaryViewModel for HomeScreen");

            var modules = new Collection <string>();

            foreach (var vertice in ModuleGraph.Vertices)
            {
                modules.Add(vertice.ID);
            }

            AlarmSummaryViewModel = _alarmManagementFactory.CreateAlarmSummaryViewModel(modules);
            AlarmSummaryViewModel.CurrentAlarmsChanged += AlarmSummaryViewModelCurrentAlarmsChanged;
            await AlarmSummaryViewModel.Activate();
        }