aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/ViewModels
diff options
context:
space:
mode:
authorRoy Ben-Shabat <Roy@Twine-s.com>2020-01-22 16:38:48 +0200
committerRoy Ben-Shabat <Roy@Twine-s.com>2020-01-22 16:38:48 +0200
commit287af6d4bed5333087cb9d702d20035b1ad9a326 (patch)
tree58d229d36680c9ee768516834cde6d8301055e02 /Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/ViewModels
parentb06466e5b4fd861207452fa4cebb2ee68195a8e6 (diff)
downloadTango-287af6d4bed5333087cb9d702d20035b1ad9a326.tar.gz
Tango-287af6d4bed5333087cb9d702d20035b1ad9a326.zip
Implemented team viewer join group.
Prevent multiple power up dialogs from showing. Implement auto available dispenser assignment for machine creation. Sorting for machines and dispensers in Machine designer. Implemented new PPC factory reset with team viewer and device name change. Fixed "Exit To Shell" to open real explorer. Redesigned restarting system view. Updated power off animation. Updated loading animation.
Diffstat (limited to 'Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/ViewModels')
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/ViewModels/MachineUpdatesViewVM.cs2
-rw-r--r--Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/ViewModels/MainViewVM.cs60
2 files changed, 46 insertions, 16 deletions
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/ViewModels/MachineUpdatesViewVM.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/ViewModels/MachineUpdatesViewVM.cs
index 41bcc2a87..616ad0a47 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/ViewModels/MachineUpdatesViewVM.cs
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/ViewModels/MachineUpdatesViewVM.cs
@@ -110,6 +110,8 @@ namespace Tango.MachineStudio.MachineDesigner.ViewModels
DisplayMachineSetups = true;
DisplayDatabaseUpdates = true;
DisplaySynchronizations = true;
+ DisplayOfflineUpdates = true;
+ DisplayFirmwareUpgrades = true;
RefreshCommand = new RelayCommand(Refresh, () => IsFree);
}
diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/ViewModels/MainViewVM.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/ViewModels/MainViewVM.cs
index 1bd790eb6..bd08e3e7c 100644
--- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/ViewModels/MainViewVM.cs
+++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/ViewModels/MainViewVM.cs
@@ -298,7 +298,7 @@ namespace Tango.MachineStudio.MachineDesigner.ViewModels
{
Task.Factory.StartNew(() =>
{
- ActiveMachineAdapter.Dispensers = ActiveMachineAdapter.Context.Dispensers.Where(x => x.SerialNumber.ToLower().StartsWith(DispensersFilter.ToLower())).ToSynchronizedObservableCollection();
+ ActiveMachineAdapter.Dispensers = ActiveMachineAdapter.Context.Dispensers.Where(x => x.SerialNumber.ToLower().StartsWith(DispensersFilter.ToLower())).OrderBy(x => x.SerialNumber).ToSynchronizedObservableCollection();
});
});
}
@@ -545,32 +545,60 @@ namespace Tango.MachineStudio.MachineDesigner.ViewModels
{
for (int i = 0; i < 8; i++)
{
- Dispenser dispenser = new Dispenser();
- dispenser.SerialNumber = machineCreationDialogVM.SerialNumber + "-" + (i + 1);
+ var serial = machineCreationDialogVM.SerialNumber + "-" + (i + 1);
+
+ var existingDispenser = await ActiveMachineAdapter.Context.Dispensers.Include(x => x.IdsPacks).SingleAsync(x => x.SerialNumber == serial);
- if (newMachine)
+ if (existingDispenser != null)
{
- dispenser.NlPerPulse = machineCreationDialogVM.DispenserFactor;
- dispenser.DispenserTypeGuid = ActiveMachineAdapter.DispenserTypes.First().Guid;
+ if (existingDispenser.IsInstalled)
+ {
+ _notification.ShowError($"Dispenser '{serial}' already exists. Cannot create machine.");
+ return;
+ }
+ else
+ {
+ if (!_notification.ShowErrorQuestion($"Dispenser '{serial}' already exists and is not installed. Do you wish to assign the existing dispenser to this machine?"))
+ {
+ return;
+ }
+ }
}
- else
+
+ Dispenser dispenser = new Dispenser();
+
+ if (existingDispenser == null)
{
- var packBefore = machineConfigBeforeClone.NoneEmptyIdsPacks.SingleOrDefault(x => x.PackIndex == i);
+ dispenser.SerialNumber = serial;
- if (packBefore != null)
+ if (newMachine)
{
- dispenser.NlPerPulse = packBefore.Dispenser.NlPerPulse;
- dispenser.DispenserTypeGuid = packBefore.Dispenser.DispenserType.Guid;
+ dispenser.NlPerPulse = machineCreationDialogVM.DispenserFactor;
+ dispenser.DispenserTypeGuid = ActiveMachineAdapter.DispenserTypes.First().Guid;
}
else
{
- continue;
+ var packBefore = machineConfigBeforeClone.NoneEmptyIdsPacks.SingleOrDefault(x => x.PackIndex == i);
+
+ if (packBefore != null)
+ {
+ dispenser.NlPerPulse = packBefore.Dispenser.NlPerPulse;
+ dispenser.DispenserTypeGuid = packBefore.Dispenser.DispenserType.Guid;
+ }
+ else
+ {
+ continue;
+ }
}
- }
- dispenser.ProductionDate = DateTime.UtcNow;
+ dispenser.ProductionDate = DateTime.UtcNow;
- ActiveMachineAdapter.Context.Dispensers.Add(dispenser);
+ ActiveMachineAdapter.Context.Dispensers.Add(dispenser);
+ }
+ else
+ {
+ dispenser = existingDispenser;
+ }
var idsPack = ActiveMachine.Configuration.NoneEmptyIdsPacks.SingleOrDefault(x => x.PackIndex == i);
@@ -950,7 +978,7 @@ namespace Tango.MachineStudio.MachineDesigner.ViewModels
try
{
IsFree = false;
- MachinesAdapter.Machines = MachinesAdapter.Context.Machines.Where(x => x.SerialNumber.StartsWith(Filter)).Include(x => x.Organization).Include(x => x.MachineVersion).ToSynchronizedObservableCollection();
+ MachinesAdapter.Machines = MachinesAdapter.Context.Machines.Where(x => x.SerialNumber.StartsWith(Filter)).Include(x => x.Organization).Include(x => x.MachineVersion).OrderBy(x => x.SerialNumber).ToSynchronizedObservableCollection();
}
catch
{