diff options
Diffstat (limited to 'Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.HardwareDesigner/ViewModels/ComparisonWizardViewVM.cs')
| -rw-r--r-- | Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.HardwareDesigner/ViewModels/ComparisonWizardViewVM.cs | 61 |
1 files changed, 56 insertions, 5 deletions
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.HardwareDesigner/ViewModels/ComparisonWizardViewVM.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.HardwareDesigner/ViewModels/ComparisonWizardViewVM.cs index 628613fea..47a40ade4 100644 --- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.HardwareDesigner/ViewModels/ComparisonWizardViewVM.cs +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.HardwareDesigner/ViewModels/ComparisonWizardViewVM.cs @@ -19,12 +19,23 @@ using Tango.SharedUI; namespace Tango.MachineStudio.HardwareDesigner.ViewModels { + /// <summary> + /// class ComparisonWizardViewVM is view model of dialog for compare properties of 2 hardware versions + /// </summary> + /// <seealso cref="Tango.SharedUI.DialogViewVM" /> public class ComparisonWizardViewVM : DialogViewVM { private INotificationProvider _notification; #region Properties private ObservableCollection<HardwareVersion> _hardwareVersions; + + /// <summary> + /// Gets or sets the hardware versions. Contains all available versions. + /// </summary> + /// <value> + /// The hardware versions. + /// </value> public ObservableCollection<HardwareVersion> HardwareVersions { get { return _hardwareVersions; } @@ -32,6 +43,13 @@ namespace Tango.MachineStudio.HardwareDesigner.ViewModels } private HardwareVersion _selectedVersion1; + + /// <summary> + /// Gets or sets the selected version1 contains selected value from left combo box + /// </summary> + /// <value> + /// The selected version1. + /// </value> public HardwareVersion SelectedVersion1 { get { return _selectedVersion1; } @@ -47,6 +65,13 @@ namespace Tango.MachineStudio.HardwareDesigner.ViewModels } private HardwareVersion _selectedVersion2; + + /// <summary> + /// Gets or sets the selected version2 contains selected value from right combo box + /// </summary> + /// <value> + /// The selected version2. + /// </value> public HardwareVersion SelectedVersion2 { get { return _selectedVersion2; } @@ -63,6 +88,13 @@ namespace Tango.MachineStudio.HardwareDesigner.ViewModels } private bool _isShowDifference; + + /// <summary> + /// Gets or sets a value indicating whether this instance is show difference. Binding to value of checkbox in GUI. + /// </summary> + /// <value> + /// <c>true</c> if this instance is show difference; otherwise, <c>false</c>. + /// </value> public bool IsShowDifference { get { return _isShowDifference; } @@ -74,6 +106,13 @@ namespace Tango.MachineStudio.HardwareDesigner.ViewModels } private HardwareCompareResult _result; + + /// <summary> + /// Gets or sets the result. Contains result of the comparison properties from selected versions. + /// </summary> + /// <value> + /// The result. + /// </value> public HardwareCompareResult Result { get @@ -89,6 +128,7 @@ namespace Tango.MachineStudio.HardwareDesigner.ViewModels } private bool _isRunning; + public bool IsRunning { get { return _isRunning; } @@ -103,7 +143,6 @@ namespace Tango.MachineStudio.HardwareDesigner.ViewModels #endregion - #region Constructors public ComparisonWizardViewVM(IEnumerable<HardwareVersion> availableVersions, HardwareVersion selectedVersion, INotificationProvider notification) @@ -123,10 +162,11 @@ namespace Tango.MachineStudio.HardwareDesigner.ViewModels #region Report + /// <summary> + /// Generates the report. Save properties in .csv file in format Collection name/Component name/Property name/Value1 of version1/Value2 of version 2 + /// </summary> private void GenerateReport() { - _notification.ShowError($"Error generating HW version comparison report.\n"); - SaveFileDialog dlg = new SaveFileDialog(); dlg.Title = "Save Report"; dlg.Filter = "CSV Files|*.csv"; @@ -159,7 +199,7 @@ namespace Tango.MachineStudio.HardwareDesigner.ViewModels model_component.Component = component.ComponentName; csvFile.Append(model_component); - foreach (var prop in component.Properties.Where(x => x.IsDifferent || !IsShowDifference)) + foreach (var prop in component.Properties.Where(x => x.HasDifferences || !IsShowDifference)) { ReportModel model = new ReportModel(); model.Property = prop.PropertyName; @@ -183,6 +223,8 @@ namespace Tango.MachineStudio.HardwareDesigner.ViewModels #endregion + #region Selected Version Changed + private async void OnSelectedVersionChanged() { if (SelectedVersion1 != null && SelectedVersion2 != null) @@ -200,7 +242,8 @@ namespace Tango.MachineStudio.HardwareDesigner.ViewModels }); } } - } + } + #endregion #region Compare Versions @@ -218,6 +261,7 @@ namespace Tango.MachineStudio.HardwareDesigner.ViewModels return _result; } + private HardwareComponentCollectionCompareResult CompareMotorsCollection(HardwareVersion h1, HardwareVersion h2) { HardwareComponentCollectionCompareResult collection = new HardwareComponentCollectionCompareResult() @@ -239,6 +283,7 @@ namespace Tango.MachineStudio.HardwareDesigner.ViewModels } return collection; } + private HardwareComponentCollectionCompareResult CompareDancerCollection(HardwareVersion h1, HardwareVersion h2) { HardwareComponentCollectionCompareResult collection = new HardwareComponentCollectionCompareResult() @@ -260,6 +305,7 @@ namespace Tango.MachineStudio.HardwareDesigner.ViewModels } return collection; } + private HardwareComponentCollectionCompareResult ComparePidControlsCollection(HardwareVersion h1, HardwareVersion h2) { HardwareComponentCollectionCompareResult collection = new HardwareComponentCollectionCompareResult() @@ -281,6 +327,7 @@ namespace Tango.MachineStudio.HardwareDesigner.ViewModels } return collection; } + private HardwareComponentCollectionCompareResult CompareWindersCollection(HardwareVersion h1, HardwareVersion h2) { HardwareComponentCollectionCompareResult collection = new HardwareComponentCollectionCompareResult() @@ -302,6 +349,7 @@ namespace Tango.MachineStudio.HardwareDesigner.ViewModels } return collection; } + private HardwareComponentCollectionCompareResult CompareSpeedSensorsCollection(HardwareVersion h1, HardwareVersion h2) { HardwareComponentCollectionCompareResult collection = new HardwareComponentCollectionCompareResult() @@ -323,6 +371,7 @@ namespace Tango.MachineStudio.HardwareDesigner.ViewModels } return collection; } + private HardwareComponentCollectionCompareResult CompareBlowersCollection(HardwareVersion h1, HardwareVersion h2) { HardwareComponentCollectionCompareResult collection = new HardwareComponentCollectionCompareResult() @@ -344,6 +393,7 @@ namespace Tango.MachineStudio.HardwareDesigner.ViewModels } return collection; } + private HardwareComponentCollectionCompareResult CompareBreakSensorCollection(HardwareVersion h1, HardwareVersion h2) { HardwareComponentCollectionCompareResult collection = new HardwareComponentCollectionCompareResult() @@ -385,6 +435,7 @@ namespace Tango.MachineStudio.HardwareDesigner.ViewModels return result; } + private List<PropertyInfo> GetComponentProperties(Type componentType) { List<String> exclude = new List<string>() |
