コード例 #1
0
        public AddEditExistingInterlockPropertyViewModel(InterlockType interlockType)
        {
            mInterlockTypeId = interlockType.Id;
            OkButtonCommand = new DelegateCommand<object>(OkButtonHander, CanModify);
            CancelButtonCommand = new DelegateCommand<object>(CancelButtonHander, x => true);

            CmsWebServiceClient cmsWebServiceClient = new CmsWebServiceClient(Utils.WcfBinding, Utils.WcfEndPoint);
            Properties = new List<InterlockProperty>();

            //Load Interlock types
            EventHandler<GetAllInterlockPropertiesCompletedEventArgs> fetchCompleted = (s, eventArgs) =>
                                              {
                                                  cmsWebServiceClient.GetInterlockPropertiesCompleted +=
                                                      (s1, e1)
                                                      =>
                                                          {
                                                              List<int> listOfAssignedPropertyIds = new List<int>();
                                                              e1.Result.ForEach(x => listOfAssignedPropertyIds.Add(x.Id));

                                                              foreach (var interlockProperty in eventArgs.Result)
                                                              {
                                                                  if (!listOfAssignedPropertyIds.Contains(interlockProperty.Id))
                                                                  {
                                                                      Properties.Add(interlockProperty);
                                                                  }
                                                              }

                                                              if (Properties.Count > 0)
                                                              {
                                                                  SelectedProperty = Properties[0];
                                                              }
                                                              Loaded();
                                                          };

                                                  cmsWebServiceClient.GetInterlockPropertiesAsync(interlockType.Id);
                                              };
            cmsWebServiceClient.GetAllInterlockPropertiesCompleted += fetchCompleted;
            cmsWebServiceClient.GetAllInterlockPropertiesAsync();
        }
コード例 #2
0
        public AddEditExistingInterlockPropertyViewModel(int componentTypePropertyId)
        {
            OkButtonCommand = new DelegateCommand<object>(OkButtonHander, CanModify);
            CancelButtonCommand = new DelegateCommand<object>(CancelButtonHander, x => true);

            CmsWebServiceClient cmsWebServiceClient = new CmsWebServiceClient(Utils.WcfBinding, Utils.WcfEndPoint);
            Properties = new List<InterlockProperty>();

            //Load ControlSystem Properties types
            EventHandler<GetAllInterlockPropertiesCompletedEventArgs>
                fetchCompleted = (s, e) =>
                                     {
                                         Properties = e.Result;
                                         cmsWebServiceClient.GetInterlockTypePropertyCompleted +=
                                             (s2, e2) =>
                                                 {
                                                     if (Properties.Count > 0)
                                                     {
                                                         SelectedProperty = (from x in Properties
                                                                             where x.Id == e2.Result.InterlockPropertyId
                                                                             select x).FirstOrDefault();
                                                     }
                                                     mInterlockTypeId = e2.Result.InterlockTypeId;
                                                     mOrdinal = e2.Result.Ordinal;
                                                     Loaded();
                                                 };
                                         cmsWebServiceClient.GetInterlockTypePropertyAsync(componentTypePropertyId);
                                     };

            cmsWebServiceClient.GetAllInterlockPropertiesCompleted += fetchCompleted;
            cmsWebServiceClient.GetAllInterlockPropertiesAsync();
        }
コード例 #3
0
        private void LoadInterlockProperties(NodeView expandedNode)
        {
            var cmsWebServiceClient = new CmsWebServiceClient(Utils.WcfBinding, Utils.WcfEndPoint);

            EventHandler<GetAllInterlockPropertiesCompletedEventArgs> fetchCompleted = null;
            fetchCompleted = (s, eventArgs) =>
            {
                var properties = eventArgs.Result;
                if (properties != null)
                {
                    foreach (var property in properties)
                    {
                        var child = new NodeView(expandedNode)
                        {
                            Id = property.Id,
                            Name = property.Name,
                            Description = property.Description,
                            Icon = "/CmsEquipmentDatabase;component/Images/Configuration.png",
                            Type = NodeType.InterlockProperty,
                            HasChildren = false,
                            SortField = property.Name
                        };
                        expandedNode.Children.Add(child);
                        cmsWebServiceClient.GetAllInterlockPropertiesCompleted -= fetchCompleted;
                    }
                    expandedNode.Sort();
                }
            };
            cmsWebServiceClient.GetAllInterlockPropertiesCompleted += fetchCompleted;
            cmsWebServiceClient.GetAllInterlockPropertiesAsync();
        }
コード例 #4
0
        public void LoadExistingProperties()
        {
            CmsWebServiceClient cmsWebServiceClient = new CmsWebServiceClient(Utils.WcfBinding, Utils.WcfEndPoint);

            switch (mEquipmentPropertyType)
            {
                case CommonUtils.EquipmentPropertyType.ControlEngineeringProperty:
                    cmsWebServiceClient.GetAllControlSystemPropertiesCompleted += (s, e) =>
                    {
                        if (ExistingProperties == null) ExistingProperties = new List<IComponentProperty>();
                        ExistingProperties.Clear();

                        e.Result.ForEach(ExistingProperties.Add);
                        mPropertiesLoaded = true;
                        OnDataLoaded();

                    };
                    cmsWebServiceClient.GetAllControlSystemPropertiesAsync();
                    break;
                case CommonUtils.EquipmentPropertyType.ControlTuningProperty:
                    cmsWebServiceClient.GetAllControlSystemTuningPropertiesCompleted += (s, e) =>
                    {
                        if (ExistingProperties == null) ExistingProperties = new List<IComponentProperty>();
                        ExistingProperties.Clear();

                        e.Result.ForEach(ExistingProperties.Add);
                        mPropertiesLoaded = true;
                        OnDataLoaded();

                    };
                    cmsWebServiceClient.GetAllControlSystemTuningPropertiesAsync();
                    break;

                case CommonUtils.EquipmentPropertyType.ControlInterlockProperty:
                    cmsWebServiceClient.GetAllInterlockPropertiesCompleted += (s, e) =>
                    {
                        if (ExistingProperties == null) ExistingProperties = new List<IComponentProperty>();
                        ExistingProperties.Clear();

                        e.Result.ForEach(ExistingProperties.Add);
                        mPropertiesLoaded = true;
                        OnDataLoaded();

                    };
                    cmsWebServiceClient.GetAllInterlockPropertiesAsync();
                    break;
                case CommonUtils.EquipmentPropertyType.ElectricalProperty:
                    cmsWebServiceClient.GetAllElectricalEquipmentPropertiesCompleted += (s, e) =>
                    {
                        if (ExistingProperties == null) ExistingProperties = new List<IComponentProperty>();
                        ExistingProperties.Clear();

                        e.Result.ForEach(ExistingProperties.Add);
                        mPropertiesLoaded = true;
                        OnDataLoaded();

                    };
                    cmsWebServiceClient.GetAllElectricalEquipmentPropertiesAsync();
                    break;
                case CommonUtils.EquipmentPropertyType.InstrumentProperty:
                    cmsWebServiceClient.GetAllInstrumentPropertiesCompleted += (s, e) =>
                    {
                        if (ExistingProperties == null) ExistingProperties = new List<IComponentProperty>();
                        ExistingProperties.Clear();

                        e.Result.ForEach(ExistingProperties.Add);
                        mPropertiesLoaded = true;
                        OnDataLoaded();

                    };
                    cmsWebServiceClient.GetAllInstrumentPropertiesAsync();
                    break;
                case CommonUtils.EquipmentPropertyType.MechanicalProperty:
                    cmsWebServiceClient.GetAllMechanicalEquipmentPropertiesCompleted += (s, e) =>
                    {
                        if (ExistingProperties == null) ExistingProperties = new List<IComponentProperty>();
                        ExistingProperties.Clear();

                        e.Result.ForEach(ExistingProperties.Add);
                        mPropertiesLoaded = true;
                        OnDataLoaded();

                    };
                    cmsWebServiceClient.GetAllMechanicalEquipmentPropertiesAsync();
                    break;
                case CommonUtils.EquipmentPropertyType.MobilePlantProperty:
                    cmsWebServiceClient.GetAllMobilePlantPropertiesCompleted += (s, e) =>
                    {
                        if (ExistingProperties == null) ExistingProperties = new List<IComponentProperty>();
                        ExistingProperties.Clear();

                        e.Result.ForEach(ExistingProperties.Add);
                        mPropertiesLoaded = true;
                        OnDataLoaded();

                    };
                    cmsWebServiceClient.GetAllMobilePlantPropertiesAsync();
                    break;
                case CommonUtils.EquipmentPropertyType.PipeProperty:
                    cmsWebServiceClient.GetAllPipePropertiesCompleted += (s, e) =>
                    {
                        if (ExistingProperties == null) ExistingProperties = new List<IComponentProperty>();
                        ExistingProperties.Clear();

                        e.Result.ForEach(ExistingProperties.Add);
                        mPropertiesLoaded = true;
                        OnDataLoaded();

                    };
                    cmsWebServiceClient.GetAllPipePropertiesAsync();
                    break;

                case CommonUtils.EquipmentPropertyType.SystemTestingProperty:
                    cmsWebServiceClient.GetAllControlSystemTestingPropertiesCompleted += (s, e) =>
                    {
                        if (ExistingProperties == null) ExistingProperties = new List<IComponentProperty>();
                        ExistingProperties.Clear();

                        e.Result.ForEach(ExistingProperties.Add);
                        mPropertiesLoaded = true;
                        OnDataLoaded();

                    };
                    cmsWebServiceClient.GetAllControlSystemTestingPropertiesAsync();
                    break;

                case CommonUtils.EquipmentPropertyType.ComponentTestingProperty:
                    cmsWebServiceClient.GetAllControlSystemComponentTestingPropertiesCompleted += (s, e) =>
                    {
                        if (ExistingProperties == null) ExistingProperties = new List<IComponentProperty>();
                        ExistingProperties.Clear();

                        e.Result.ForEach(ExistingProperties.Add);
                        mPropertiesLoaded = true;
                        OnDataLoaded();

                    };
                    cmsWebServiceClient.GetAllControlSystemComponentTestingPropertiesAsync();
                    break;
            }
        }