From 795f3ab6ea36551281ec6442aa16b9547af96adc Mon Sep 17 00:00:00 2001 From: Roy Date: Mon, 20 Feb 2023 02:28:15 +0200 Subject: Incorporated machine type into machine creation and management + job runs. --- .../Models/MachineModel.cs | 3 +++ .../ViewModels/MachineCreationDialogVM.cs | 3 +++ .../ViewModels/MainViewVM.cs | 11 +++++++++++ .../Views/MachineCreationDialog.xaml | 16 ++++++++++++---- .../Views/MachinesView.xaml | 3 ++- 5 files changed, 31 insertions(+), 5 deletions(-) (limited to 'Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner') diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/Models/MachineModel.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/Models/MachineModel.cs index 8a2f5dd9f..38430e197 100644 --- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/Models/MachineModel.cs +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/Models/MachineModel.cs @@ -4,6 +4,7 @@ using System.Linq; using System.Text; using System.Threading.Tasks; using Tango.BL.Entities; +using Tango.BL.Enumerations; using Tango.Core; namespace Tango.MachineStudio.MachineDesigner.Models @@ -12,6 +13,8 @@ namespace Tango.MachineStudio.MachineDesigner.Models { public String Guid { get; set; } + public MachineTypes MachineType { get; set; } + public String SerialNumber { get; set; } public String Name { get; set; } diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/ViewModels/MachineCreationDialogVM.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/ViewModels/MachineCreationDialogVM.cs index 168ff62dd..c7c7267a4 100644 --- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/ViewModels/MachineCreationDialogVM.cs +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/ViewModels/MachineCreationDialogVM.cs @@ -4,6 +4,7 @@ using System.Linq; using System.Text; using System.Threading.Tasks; using Tango.BL.Entities; +using Tango.BL.Enumerations; using Tango.SharedUI; namespace Tango.MachineStudio.MachineDesigner.ViewModels @@ -32,6 +33,8 @@ namespace Tango.MachineStudio.MachineDesigner.ViewModels set { _serialNumber = value; RaisePropertyChangedAuto(); InvalidateRelayCommands(); } } + public MachineTypes MachineType { get; set; } + private String _name; public String Name { 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 c31ea0a53..855f063fc 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 @@ -540,6 +540,7 @@ namespace Tango.MachineStudio.MachineDesigner.ViewModels ActiveMachine.Configuration = new Configuration(); ActiveMachine.SerialNumber = machineCreationDialogVM.SerialNumber; ActiveMachine.Name = machineCreationDialogVM.Name; + ActiveMachine.Type = machineCreationDialogVM.MachineType; ActiveMachineAdapter.Context.Machines.Add(ActiveMachine); } else @@ -713,6 +714,14 @@ namespace Tango.MachineStudio.MachineDesigner.ViewModels errors.Add("Hardware version is required."); } + if (ActiveMachine.Configuration.HardwareVersion != null) + { + if (ActiveMachine.Configuration.HardwareVersion.ForMachineType != ActiveMachine.Type) + { + errors.Add($"Hardware version '{ActiveMachine.Configuration.HardwareVersion.Name}' is intended only for {ActiveMachine.Configuration.HardwareVersion.ForMachineType} machines."); + } + } + foreach (var pack in ActiveMachine.Configuration.IdsPacks) { if (pack.LiquidType != null || pack.CartridgeType != null || pack.Dispenser != null || pack.IdsPackFormula != null || pack.MidTankType != null) @@ -1013,6 +1022,7 @@ namespace Tango.MachineStudio.MachineDesigner.ViewModels { x.Guid, x.SerialNumber, + x.MachineType, x.Name, Organization = x.Organization.Name, MachineVersion = x.MachineVersion.Name, @@ -1030,6 +1040,7 @@ namespace Tango.MachineStudio.MachineDesigner.ViewModels MachineModel model = new MachineModel(); model.Guid = machine.Guid; model.SerialNumber = machine.SerialNumber; + model.MachineType = (MachineTypes)machine.MachineType; model.Name = machine.Name; model.Organization = machine.Organization; model.HardwareVersion = machine.HardwareVersionName + " v" + machine.HardwareVersionVersion; diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/Views/MachineCreationDialog.xaml b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/Views/MachineCreationDialog.xaml index 8b3851036..b1a393875 100644 --- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/Views/MachineCreationDialog.xaml +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/Views/MachineCreationDialog.xaml @@ -8,11 +8,14 @@ xmlns:vm="clr-namespace:Tango.MachineStudio.MachineDesigner.ViewModels" xmlns:converters="clr-namespace:Tango.SharedUI.Converters;assembly=Tango.SharedUI" xmlns:local="clr-namespace:Tango.MachineStudio.MachineDesigner.Views" + xmlns:enumerations="clr-namespace:Tango.BL.Enumerations;assembly=Tango.BL" mc:Ignorable="d" d:DesignHeight="400" d:DesignWidth="700" Height="460" Width="750" Background="{StaticResource Dialog.Background}" d:DataContext="{d:DesignInstance Type=vm:MachineCreationDialogVM, IsDesignTimeCreatable=False}" Foreground="{StaticResource Dialog.Foreground}"> + + @@ -20,7 +23,7 @@ - + @@ -52,11 +55,16 @@ - Specify a machine prototype to create the new machine with default settings and configuration. + Specify a machine prototype and machine type to create the new machine with default settings and configuration. - - + + + + + + + Serial Number diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/Views/MachinesView.xaml b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/Views/MachinesView.xaml index 5fda6dbfa..3c73ecc2b 100644 --- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/Views/MachinesView.xaml +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/Views/MachinesView.xaml @@ -22,7 +22,7 @@ - + @@ -70,6 +70,7 @@ + -- cgit v1.3.1 From 75768cc3f278db5683db93a65f45b25f3cc80dbb Mon Sep 17 00:00:00 2001 From: Roy Date: Wed, 26 Apr 2023 20:28:29 +0300 Subject: Machine Designer Creates With Machine Version ! --- Software/DB/Tango.mdf | Bin 75497472 -> 75497472 bytes Software/DB/Tango_log.ldf | Bin 22675456 -> 22675456 bytes .../ViewModels/MachineCreationDialogVM.cs | 28 ++++++++++++++++++--- .../ViewModels/MainViewVM.cs | 5 ++-- .../Views/MachineCreationDialog.xaml | 2 +- .../Views/MachineSettingsView.xaml | 2 +- .../Tango.BL/Entities/MachineVersion.cs | 10 ++++++++ Software/Visual_Studio/Tango.BL/Tango.BL.csproj | 2 +- 8 files changed, 40 insertions(+), 9 deletions(-) (limited to 'Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner') diff --git a/Software/DB/Tango.mdf b/Software/DB/Tango.mdf index ea4f30a8f..7dd4615d5 100644 Binary files a/Software/DB/Tango.mdf and b/Software/DB/Tango.mdf differ diff --git a/Software/DB/Tango_log.ldf b/Software/DB/Tango_log.ldf index 700663293..2799c5cba 100644 Binary files a/Software/DB/Tango_log.ldf and b/Software/DB/Tango_log.ldf differ diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/ViewModels/MachineCreationDialogVM.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/ViewModels/MachineCreationDialogVM.cs index c7c7267a4..9d203b76d 100644 --- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/ViewModels/MachineCreationDialogVM.cs +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/ViewModels/MachineCreationDialogVM.cs @@ -15,9 +15,24 @@ namespace Tango.MachineStudio.MachineDesigner.ViewModels public List HardwareVersions { get; set; } - public HardwareVersion SelectedHardwareVersion { get; set; } + public List HardwareVersionsFiltered + { + get { return HardwareVersions.Where(x => x.MachineType == (int)MachineType).ToList(); } + } - public MachinePrototype SelectedPrototype { get; set; } + private HardwareVersion _selectedHardwareVersion; + public HardwareVersion SelectedHardwareVersion + { + get { return _selectedHardwareVersion; } + set { _selectedHardwareVersion = value; RaisePropertyChangedAuto(); } + } + + private MachinePrototype _selectedProtoType; + public MachinePrototype SelectedPrototype + { + get { return _selectedProtoType; } + set { _selectedProtoType = value; MachineType = (MachineTypes)value.MachineType; } + } private bool _isNewMachine; public bool IsNewMachine @@ -33,7 +48,12 @@ namespace Tango.MachineStudio.MachineDesigner.ViewModels set { _serialNumber = value; RaisePropertyChangedAuto(); InvalidateRelayCommands(); } } - public MachineTypes MachineType { get; set; } + private MachineTypes _machineType; + public MachineTypes MachineType + { + get { return _machineType; } + set { _machineType = value; RaisePropertyChanged(nameof(HardwareVersionsFiltered)); SelectedHardwareVersion = HardwareVersionsFiltered.FirstOrDefault(); } + } private String _name; public String Name @@ -44,7 +64,7 @@ namespace Tango.MachineStudio.MachineDesigner.ViewModels protected override bool CanOK() { - return base.CanOK() && !String.IsNullOrWhiteSpace(SerialNumber) && !String.IsNullOrWhiteSpace(Name); + return base.CanOK() && !String.IsNullOrWhiteSpace(SerialNumber) && !String.IsNullOrWhiteSpace(Name) && SelectedHardwareVersion != null; } } } 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 855f063fc..cad54c848 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 @@ -541,6 +541,7 @@ namespace Tango.MachineStudio.MachineDesigner.ViewModels ActiveMachine.SerialNumber = machineCreationDialogVM.SerialNumber; ActiveMachine.Name = machineCreationDialogVM.Name; ActiveMachine.Type = machineCreationDialogVM.MachineType; + ActiveMachine.MachineVersion = ActiveMachineAdapter.MachineVersions.First(x => x.MachineType == machineCreationDialogVM.MachineType); ActiveMachineAdapter.Context.Machines.Add(ActiveMachine); } else @@ -549,7 +550,7 @@ namespace Tango.MachineStudio.MachineDesigner.ViewModels { initHwConfig = false; ActiveMachine = machineCreationDialogVM.SelectedPrototype.CreateMachine(machineCreationDialogVM.SerialNumber, machineCreationDialogVM.Name); - ActiveMachine.MachineVersion = ActiveMachineAdapter.MachineVersions.FirstOrDefault(x => x.Guid == ActiveMachine.MachineVersionGuid); + ActiveMachine.MachineVersion = ActiveMachineAdapter.MachineVersions.First(x => x.MachineType == machineCreationDialogVM.MachineType); if (machineCreationDialogVM.SelectedHardwareVersion != null) { @@ -862,7 +863,7 @@ namespace Tango.MachineStudio.MachineDesigner.ViewModels vm.IsNewMachine = true; vm.Prototypes = prototypes.ToList(); vm.HardwareVersions = hardwareVersions.OrderByDescending(x => x.Version).ToList(); - vm.SelectedHardwareVersion = vm.HardwareVersions.FirstOrDefault(); + vm.SelectedHardwareVersion = vm.HardwareVersions.Where(x => x.ForMachineType == MachineTypes.TS1800).FirstOrDefault(); _notification.ShowModalDialog(vm, (x) => { using (ObservablesContext db = ObservablesContext.CreateDefault()) diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/Views/MachineCreationDialog.xaml b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/Views/MachineCreationDialog.xaml index b1a393875..8a4a9161b 100644 --- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/Views/MachineCreationDialog.xaml +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/Views/MachineCreationDialog.xaml @@ -73,7 +73,7 @@ Hardware Version - + diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/Views/MachineSettingsView.xaml b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/Views/MachineSettingsView.xaml index 4ba79d3f5..852e60d0f 100644 --- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/Views/MachineSettingsView.xaml +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.MachineDesigner/Views/MachineSettingsView.xaml @@ -54,7 +54,7 @@ Machine Version - + Version Tag diff --git a/Software/Visual_Studio/Tango.BL/Entities/MachineVersion.cs b/Software/Visual_Studio/Tango.BL/Entities/MachineVersion.cs index 5832e8a74..694ee1f37 100644 --- a/Software/Visual_Studio/Tango.BL/Entities/MachineVersion.cs +++ b/Software/Visual_Studio/Tango.BL/Entities/MachineVersion.cs @@ -1,10 +1,13 @@ +using Newtonsoft.Json; using System; using System.Collections.Generic; +using System.ComponentModel.DataAnnotations.Schema; using System.Data.Entity; using System.Linq; using System.Text; using System.Threading.Tasks; using Tango.BL.Builders; +using Tango.BL.Enumerations; using Tango.BL.Serialization; namespace Tango.BL.Entities @@ -18,5 +21,12 @@ namespace Tango.BL.Entities { } + + [NotMapped] + [JsonIgnore] + public MachineTypes MachineType + { + get { return Version == 1 ? MachineTypes.TS1800 : MachineTypes.Eureka; } + } } } diff --git a/Software/Visual_Studio/Tango.BL/Tango.BL.csproj b/Software/Visual_Studio/Tango.BL/Tango.BL.csproj index 659565224..83e4bf3ea 100644 --- a/Software/Visual_Studio/Tango.BL/Tango.BL.csproj +++ b/Software/Visual_Studio/Tango.BL/Tango.BL.csproj @@ -833,7 +833,7 @@ - + \ No newline at end of file -- cgit v1.3.1