public AddEditComponentTypeGroupDialog(List<string> existingGroupNames) { InitializeComponent(); mComponentTypeGroup = new ComponentTypeGroup(); mViewModel = new AddEditComponentTypeGroupViewModel(mComponentTypeGroup,existingGroupNames, 1) { View = this }; DataContext = mViewModel; Utils.ResetOriginalValues(this); }
public AddEditComponentTypeGroupViewModel(ComponentTypeGroup componentTypeGroup, List<string> existingGroupNames, int ordinal) { mComponentTypeGroup = componentTypeGroup; mOrdinal = ordinal; mExistingGroupNames = existingGroupNames; OkButtonCommand = new DelegateCommand<object>(OkButtonHander, CanModifyConfig); CancelButtonCommand = new DelegateCommand<object>(CancelButtonHander, x => true); }
public AddEditComponentTypeGroupDialog(ComponentTypeGroup componentTypeGroup, List<string> existingGroupNames, int ordinal) { InitializeComponent(); Title = "Edit Group"; mComponentTypeGroup = componentTypeGroup; mViewModel = new AddEditComponentTypeGroupViewModel(mComponentTypeGroup,existingGroupNames, ordinal) { View = this }; DataContext = mViewModel; Utils.ResetOriginalValues(this); }
private void LoadEditingData(int componentTypeId) { var getComponentTypeTestingPropertyTask = DatabaseLoader.GetControlSystemComponentTypeTestingProperty(componentTypeId); var getAvailableControlSystemTestingPropertiesTask = DatabaseLoader.GetAvailableControlSystemComponentTestingProperties(componentTypeId); var tasks = new List<Task> { getComponentTypeTestingPropertyTask, getAvailableControlSystemTestingPropertiesTask, }; Task.Factory.ContinueWhenAll(tasks.ToArray(), xx => { DatabaseLoader.GetControlSystemComponentTypeGroups(CommonUtils.EquipmentPropertyType.ComponentTestingProperty, getComponentTypeTestingPropertyTask.Result.ComponentTypeId) .ContinueWith(getControlSystemComponentTypeGroupsTask => { CMS.UiFactory.StartNew(() => { Properties = getAvailableControlSystemTestingPropertiesTask.Result; Groups = getControlSystemComponentTypeGroupsTask.Result; Groups.Insert(0, new ComponentTypeGroup { Name = "Null" }); var csctftp = getComponentTypeTestingPropertyTask.Result; mGroupId = csctftp.ComponentTypeGroupId; if (Properties.Count > 0) { SelectedProperty = (from x in Properties where x.Id == csctftp.TestPropertyId select x).FirstOrDefault(); } if (Groups.Count > 0 && csctftp.ComponentTypeGroupId.HasValue) { Group = (from x in Groups where x.Id == csctftp.ComponentTypeGroupId select x).FirstOrDefault(); } else { Group = Groups[0]; } OriginalSelectedGroup = Group; mComponentTypeId = csctftp.ComponentTypeId; if (Group.Id > 0) { mOrdinal = csctftp.GroupOrdinal; } else { mOrdinal = csctftp.Ordinal; } Loaded(); }); }); }); }
private void LoadAddingData(int componentTypeId) { Properties = new List<ControlSystemComponentTestingProperty>(); var getcomponentTypeTestingPropertiesTask = DatabaseLoader.GetControlSystemComponentTypeTestingProperties(componentTypeId); var getAllComponentTestingPropertiesTask = DatabaseLoader.GetAllControlSystemComponentTestingProperties(); var getcomponentTypeGroupsTask = DatabaseLoader.GetControlSystemComponentTypeGroups( CommonUtils.EquipmentPropertyType.ComponentTestingProperty, componentTypeId); var tasks = new List<Task> { getcomponentTypeTestingPropertiesTask, getAllComponentTestingPropertiesTask, getcomponentTypeGroupsTask }; Task.Factory.ContinueWhenAll(tasks.ToArray(), xx => { CMS.UiFactory.StartNew(() => { Groups = getcomponentTypeGroupsTask.Result; Groups.Insert(0, new ComponentTypeGroup { Name = "Null" }); List<int> listOfAssignedPropertyIds = new List<int>(); getcomponentTypeTestingPropertiesTask.Result.Where(x => x.TestPropertyId.HasValue).ToList() .ForEach(x => listOfAssignedPropertyIds.Add(x.TestPropertyId.Value)); foreach (ControlSystemComponentTestingProperty property in getAllComponentTestingPropertiesTask.Result) { if (!listOfAssignedPropertyIds.Contains(property.Id)) { Properties.Add(property); } } if (Properties.Count > 0) SelectedProperty = Properties[0]; if (Groups.Count > 0) { if (mGroupId.HasValue) { Group = Groups.FirstOrDefault(x => x.Id == mGroupId.Value); GroupComboEnabled = false; } else { Group = Groups[0]; } OriginalSelectedGroup = Group; } Loaded(); }); }); }
private static void SetOrdinalAndGroupOnControlTypeTestingProperty(ARTEntities art, CmsEntities cee, TestResult testResult, ControlModule cm, ControlSystem controlSystem) { //get the number for this testresult to use on the ControlSystemTypeTestingProperty.Number var tp = (from x in cee.ControlSystemTestingProperties where x.Description.Equals(testResult.Test.Description, StringComparison.CurrentCultureIgnoreCase) select x).FirstOrDefault(); if (tp == null) { //log error Logger.Out(string.Format("Control {0} - Trying to set ordinal. No matchng ControlSystemTestingProperty found in CMS using Description = '{1}'.", cm.Tag, testResult.Test.Description)); return; } var controlSystemTypeTestingProperty = (from x in cee.ControlSystemTypeTestingProperties where x.ControlSystemTypeId == controlSystem.ControlSystemTypeId && x.TestPropertyId == tp.Id select x).FirstOrDefault(); if (controlSystemTypeTestingProperty == null) { Logger.Out(string.Format("Control {0} - Trying to set ordinal. No matchng ControlSystemTypeTestingProperty found in CMS using ControlSystemTypeId = '{1}' and TestPropertyId = {2}.", cm.Tag, controlSystem.ControlSystemTypeId, tp.Id)); return; } //matchGroup if (testResult.Test == null) { Logger.Out(string.Format("Control {0} - Trying to set Group Id. No Tests exist on TestResult.Test. ", cm.Tag)); return; } if (controlSystemTypeTestingProperty.Ordinal == 0) { //not been set before. controlSystemTypeTestingProperty.GroupOrdinal = testResult.Number; } Stage stage = (from x in art.Stages where x.Id == testResult.Test.StageId select x).FirstOrDefault(); if (stage != null) { if (controlSystemTypeTestingProperty.Ordinal == 0) { //not been set before. if (stage.Description.Equals("Stage 2", StringComparison.CurrentCultureIgnoreCase)) { controlSystemTypeTestingProperty.Ordinal = 1; } else if (stage.Description.Equals("Stage 3", StringComparison.CurrentCultureIgnoreCase)) { controlSystemTypeTestingProperty.Ordinal = 2; } else if (stage.Description.Equals("Stage 4", StringComparison.CurrentCultureIgnoreCase)) { controlSystemTypeTestingProperty.Ordinal = 3; } } //check if we have cee.Group. ComponentTypeGroup typeGroup = (from x in cee.ComponentTypeGroups where x.Name.Equals(stage.Description, StringComparison.InvariantCultureIgnoreCase) && x.ComponentPropertyType.Equals(CommonUtils.EquipmentPropertyType.SystemTestingProperty.ToString(), StringComparison.InvariantCultureIgnoreCase) select x).FirstOrDefault(); if (typeGroup == null) { //CREATE GROUP typeGroup = new ComponentTypeGroup { Name = stage.Description, ComponentPropertyType = CommonUtils.EquipmentPropertyType.SystemTestingProperty.ToString() }; cee.ComponentTypeGroups.Add(typeGroup); cee.SaveChanges(); Logger.Out(string.Format("Control {0} - Created new CMS ComponentTypeGroup '{1}'. ", cm.Tag, typeGroup.Name)); } controlSystemTypeTestingProperty.ComponentTypeGroupId = typeGroup.Id; } }