public static Task<List<ControlSystemProperty>> GetAllControlSystemProperties() { var task = new TaskCompletionSource<List<ControlSystemProperty>>(); var cee = new CmsWebServiceClient(Utils.WcfBinding, Utils.WcfEndPoint); cee.GetAllControlSystemPropertiesCompleted += (s, e) => task.SetResult(e.Result); cee.GetAllControlSystemPropertiesAsync(); return task.Task; }
public AddEditExistingControlSystemComponentPropertyViewModel(ControlSystemComponentType controlSystemEquipmentComponentType, int? groupId) { //Adding PropertyComboEnabled = true; GroupComboEnabled = true; mGroupId = groupId; mComponentTypeId = controlSystemEquipmentComponentType.Id; OkButtonCommand = new DelegateCommand<object>(OkButtonHander, CanModify); CancelButtonCommand = new DelegateCommand<object>(CancelButtonHander, x => true); var cmsWebServiceClient = new CmsWebServiceClient(Utils.WcfBinding, Utils.WcfEndPoint); Properties = new List<ControlSystemProperty>(); //Load Component types EventHandler<GetAllControlSystemPropertiesCompletedEventArgs> fetchCompleted = (s, eventArgs) => { var getControlSystemPropertiesTask = DatabaseLoader.GetControlSystemProperties(controlSystemEquipmentComponentType.Id); var getControlSystemComponentTypeGroupsTask = DatabaseLoader.GetControlSystemComponentTypeGroups( CommonUtils.EquipmentPropertyType.ControlEngineeringProperty, controlSystemEquipmentComponentType.Id); var tasks = new List<Task> {getControlSystemPropertiesTask, getControlSystemComponentTypeGroupsTask}; Task.Factory.ContinueWhenAll(tasks.ToArray(), xx => { CMS.UiFactory.StartNew(() => { Groups = getControlSystemComponentTypeGroupsTask.Result; Groups.Insert(0, new ComponentTypeGroup {Name = "Null"}); var listOfAssignedPropertyIds = new List<int>(); getControlSystemPropertiesTask.Result.ForEach(x => listOfAssignedPropertyIds.Add(x.Id)); foreach (var componentProperty in eventArgs.Result) { if (!listOfAssignedPropertyIds.Contains(componentProperty.Id)) { Properties.Add(componentProperty); } } if (Properties.Count > 0) SelectedProperty = Properties[0]; if (Groups.Count > 0) { if (groupId.HasValue) { Group = Groups.FirstOrDefault(x => x.Id == groupId.Value); GroupComboEnabled = false; } else { Group = Groups[0]; } OriginalSelectedGroup = Group; } Loaded(); }); }); cmsWebServiceClient.GetControlSystemPropertiesAsync(controlSystemEquipmentComponentType.Id); }; cmsWebServiceClient.GetAllControlSystemPropertiesCompleted += fetchCompleted; cmsWebServiceClient.GetAllControlSystemPropertiesAsync(); }
private void LoadControlSystemEngineeringProperties(NodeView expandedNode) { var cmsWebServiceClient = new CmsWebServiceClient(Utils.WcfBinding, Utils.WcfEndPoint); EventHandler<GetAllControlSystemPropertiesCompletedEventArgs> 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.ControlSystemProperty, HasChildren = false, SortField = property.Name }; expandedNode.Children.Add(child); cmsWebServiceClient.GetAllControlSystemPropertiesCompleted -= fetchCompleted; } expandedNode.Sort(); } }; cmsWebServiceClient.GetAllControlSystemPropertiesCompleted += fetchCompleted; cmsWebServiceClient.GetAllControlSystemPropertiesAsync(); }
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; } }