aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/ViewModels/MachineTechViewVM.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/ViewModels/MachineTechViewVM.cs')
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/ViewModels/MachineTechViewVM.cs159
1 files changed, 91 insertions, 68 deletions
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/ViewModels/MachineTechViewVM.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/ViewModels/MachineTechViewVM.cs
index 333e43187..55235b3c2 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/ViewModels/MachineTechViewVM.cs
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/ViewModels/MachineTechViewVM.cs
@@ -41,7 +41,7 @@ namespace Tango.MachineStudio.Technician.ViewModels
/// </summary>
/// <seealso cref="Tango.SharedUI.ViewModel" />
/// <seealso cref="Tango.MachineStudio.Common.StudioApplication.IShutdownListener" />
- public class MachineTechViewVM : StudioViewModel<TechnicianModule>
+ public class MachineTechViewVM : StudioViewModel
{
private List<PropertyInfo> _diagnoticsMonitorsDataProperties;
private IDiagnosticsFrameProvider _diagnosticsFrameProvider;
@@ -94,7 +94,7 @@ namespace Tango.MachineStudio.Technician.ViewModels
/// <summary>
/// Gets or sets the db adapter.
/// </summary>
- public ObservablesEntitiesAdapter Adapter { get; set; }
+ public ObservablesStaticCollections Adapter { get; set; }
/// <summary>
/// Gets or sets the application manager.
@@ -241,7 +241,7 @@ namespace Tango.MachineStudio.Technician.ViewModels
ApplicationManager = applicationManager;
ApplicationManager.ConnectedMachineChanged += ApplicationManager_ConnectedMachineChanged;
- Adapter = ObservablesEntitiesAdapter.Instance;
+ Adapter = ObservablesStaticCollections.Instance;
Elements = new ObservableCollection<IElementEditor>();
OpenProjectCommand = new RelayCommand(OpenProject);
@@ -1473,7 +1473,7 @@ namespace Tango.MachineStudio.Technician.ViewModels
{
if (item is MotorGroupItem)
{
- (item as MotorGroupItem).TechMotors = ObservablesEntitiesAdapter.Instance.HardwareMotorTypes.Where(x => (item as MotorGroupItem).ItemsGuids.Contains(x.Guid)).ToObservableCollection();
+ (item as MotorGroupItem).TechMotors = ObservablesStaticCollections.Instance.HardwareMotorTypes.Where(x => (item as MotorGroupItem).ItemsGuids.Contains(x.Guid)).ToObservableCollection();
}
AddTechItem(item);
@@ -1572,6 +1572,11 @@ namespace Tango.MachineStudio.Technician.ViewModels
});
}
+ public override void OnApplicationReady()
+ {
+
+ }
+
#endregion
#region Hardware Configuration
@@ -1666,83 +1671,93 @@ namespace Tango.MachineStudio.Technician.ViewModels
{
if (MachineOperator != null)
{
- var hw = ApplicationManager.ConnectedMachine.Machine.Configuration.HardwareVersion.Clone();
-
- foreach (var motorConfig in hw.HardwareMotors)
+ using (_notification.PushTaskItem("Uploading hardware configuration..."))
{
- var itemConfig = MotorItem.MotorConfigurations.SingleOrDefault(x => x.HardwareMotorType.Code == motorConfig.HardwareMotorType.Code);
-
- if (itemConfig != null)
+ try
{
- itemConfig.MapPrimitivesTo(motorConfig);
- }
- }
+ HardwareVersion hw = null;
+ Configuration config = null;
- foreach (var pidConfig in hw.HardwarePidControls)
- {
- var itemConfig = PidItem.PidConfigurations.SingleOrDefault(x => x.HardwarePidControlType.Code == pidConfig.HardwarePidControlType.Code);
+ await Task.Factory.StartNew(() =>
+ {
+ using (ObservablesContext db = ObservablesContext.CreateDefault())
+ {
+ config = db.Adapter.GetConfiguration(x => x.Guid == ApplicationManager.ConnectedMachine.Machine.ConfigurationGuid).Clone();
+ hw = db.Adapter.GetHardwareVersionByMachine(ApplicationManager.ConnectedMachine.Machine.Guid).Clone();
+ }
+ });
- if (itemConfig != null)
- {
- itemConfig.MapPrimitivesTo(pidConfig);
- }
- }
+ foreach (var motorConfig in hw.HardwareMotors)
+ {
+ var itemConfig = MotorItem.MotorConfigurations.SingleOrDefault(x => x.HardwareMotorType.Code == motorConfig.HardwareMotorType.Code);
- foreach (var winderConfig in hw.HardwareWinders)
- {
- var itemConfig = WinderItem.WinderConfigurations.SingleOrDefault(x => x.HardwareWinderType.Code == winderConfig.HardwareWinderType.Code);
+ if (itemConfig != null)
+ {
+ itemConfig.MapPrimitivesTo(motorConfig);
+ }
+ }
- if (itemConfig != null)
- {
- itemConfig.MapPrimitivesTo(winderConfig);
- }
- }
+ foreach (var pidConfig in hw.HardwarePidControls)
+ {
+ var itemConfig = PidItem.PidConfigurations.SingleOrDefault(x => x.HardwarePidControlType.Code == pidConfig.HardwarePidControlType.Code);
- foreach (var dancerConfig in hw.HardwareDancers)
- {
- var itemConfig = DancerItem.DancerConfigurations.SingleOrDefault(x => x.HardwareDancerType.Code == dancerConfig.HardwareDancerType.Code);
+ if (itemConfig != null)
+ {
+ itemConfig.MapPrimitivesTo(pidConfig);
+ }
+ }
- if (itemConfig != null)
- {
- itemConfig.MapPrimitivesTo(dancerConfig);
- }
- }
+ foreach (var winderConfig in hw.HardwareWinders)
+ {
+ var itemConfig = WinderItem.WinderConfigurations.SingleOrDefault(x => x.HardwareWinderType.Code == winderConfig.HardwareWinderType.Code);
- foreach (var speedSensorConfig in hw.HardwareSpeedSensors)
- {
- var itemConfig = SpeedSensorItem.SpeedSensorConfigurations.SingleOrDefault(x => x.HardwareSpeedSensorType.Code == speedSensorConfig.HardwareSpeedSensorType.Code);
+ if (itemConfig != null)
+ {
+ itemConfig.MapPrimitivesTo(winderConfig);
+ }
+ }
- if (itemConfig != null)
- {
- itemConfig.MapPrimitivesTo(speedSensorConfig);
- }
- }
+ foreach (var dancerConfig in hw.HardwareDancers)
+ {
+ var itemConfig = DancerItem.DancerConfigurations.SingleOrDefault(x => x.HardwareDancerType.Code == dancerConfig.HardwareDancerType.Code);
- foreach (var blowerConfig in hw.HardwareBlowers)
- {
- var itemConfig = BlowerItem.BlowerConfigurations.SingleOrDefault(x => x.HardwareBlowerType.Code == blowerConfig.HardwareBlowerType.Code);
+ if (itemConfig != null)
+ {
+ itemConfig.MapPrimitivesTo(dancerConfig);
+ }
+ }
- if (itemConfig != null)
- {
- itemConfig.MapPrimitivesTo(blowerConfig);
- }
- }
+ foreach (var speedSensorConfig in hw.HardwareSpeedSensors)
+ {
+ var itemConfig = SpeedSensorItem.SpeedSensorConfigurations.SingleOrDefault(x => x.HardwareSpeedSensorType.Code == speedSensorConfig.HardwareSpeedSensorType.Code);
- foreach (var breakSensorConfig in hw.HardwareBreakSensors)
- {
- var itemConfig = BreakSensorItem.BreakSensorConfigurations.SingleOrDefault(x => x.HardwareBreakSensorType.Code == breakSensorConfig.HardwareBreakSensorType.Code);
+ if (itemConfig != null)
+ {
+ itemConfig.MapPrimitivesTo(speedSensorConfig);
+ }
+ }
- if (itemConfig != null)
- {
- itemConfig.MapPrimitivesTo(breakSensorConfig);
- }
- }
+ foreach (var blowerConfig in hw.HardwareBlowers)
+ {
+ var itemConfig = BlowerItem.BlowerConfigurations.SingleOrDefault(x => x.HardwareBlowerType.Code == blowerConfig.HardwareBlowerType.Code);
- using (_notification.PushTaskItem("Uploading hardware configuration..."))
- {
- try
- {
- await MachineOperator.UploadHardwareConfiguration(hw, ApplicationManager.ConnectedMachine.Machine.Configuration);
+ if (itemConfig != null)
+ {
+ itemConfig.MapPrimitivesTo(blowerConfig);
+ }
+ }
+
+ foreach (var breakSensorConfig in hw.HardwareBreakSensors)
+ {
+ var itemConfig = BreakSensorItem.BreakSensorConfigurations.SingleOrDefault(x => x.HardwareBreakSensorType.Code == breakSensorConfig.HardwareBreakSensorType.Code);
+
+ if (itemConfig != null)
+ {
+ itemConfig.MapPrimitivesTo(breakSensorConfig);
+ }
+ }
+
+ await MachineOperator.UploadHardwareConfiguration(hw, config);
}
catch (Exception ex)
{
@@ -1753,11 +1768,19 @@ namespace Tango.MachineStudio.Technician.ViewModels
}
}
- private void ResetHardwareConfiguration(bool showMessage = true)
+ private async void ResetHardwareConfiguration(bool showMessage = true)
{
if (MachineOperator != null)
{
- var hw = ApplicationManager.ConnectedMachine.Machine.Configuration.HardwareVersion;
+ ObservablesContext db = ObservablesContext.CreateDefault();
+ ObservablesContextAdapter adapter = new ObservablesContextAdapter(db);
+
+ HardwareVersion hw = null;
+
+ await Task.Factory.StartNew(() =>
+ {
+ hw = adapter.GetHardwareVersionByMachine(ApplicationManager.ConnectedMachine.Machine.Guid);
+ });
foreach (var motorConfig in hw.HardwareMotors)
{