aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/ViewModels
diff options
context:
space:
mode:
authorRoy Ben-Shabat <Roy@Twine-s.com>2018-08-21 18:39:38 +0300
committerRoy Ben-Shabat <Roy@Twine-s.com>2018-08-21 18:39:38 +0300
commit24149160c17fabe143f143de2796f9485d64410b (patch)
treea9c4dbcb8be70e4e88dd920697d1a9bf7300a2d5 /Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/ViewModels
parent9e7f301df8d5114249d74aaceddff801170d3e44 (diff)
downloadTango-24149160c17fabe143f143de2796f9485d64410b.tar.gz
Tango-24149160c17fabe143f143de2796f9485d64410b.zip
Tech Board Module seems to be working good !!
Diffstat (limited to 'Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/ViewModels')
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/ViewModels/MachineTechViewVM.cs151
1 files changed, 84 insertions, 67 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..8b331b5f5 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
@@ -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);
@@ -1666,83 +1666,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.GetConfiguration(x => x.Guid == ApplicationManager.ConnectedMachine.Machine.ConfigurationGuid).Clone();
+ hw = db.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 +1763,18 @@ 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();
+
+ HardwareVersion hw = null;
+
+ await Task.Factory.StartNew(() =>
+ {
+ hw = db.GetHardwareVersionByMachine(ApplicationManager.ConnectedMachine.Machine.Guid);
+ });
foreach (var motorConfig in hw.HardwareMotors)
{