aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.HardwareDesigner/ViewModels/ComparisonWizardViewVM.cs
diff options
context:
space:
mode:
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.cs61
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>()