From c23d740d6a80db62b7b43ea17639ba4c2ef4e336 Mon Sep 17 00:00:00 2001 From: Roy Ben-Shabat Date: Wed, 3 Oct 2018 14:19:04 +0300 Subject: Working on RML Module.. --- .../Tango.MachineStudio.ColorLab.csproj | 6 +- .../ViewModels/CalibrationDataPointVM.cs | 3 +- .../ViewModels/CalibrationDataVM.cs | 12 +++- .../ViewModels/LiquidVolumeVM.cs | 3 +- .../ViewModels/RgbVM.cs | 3 +- .../Tango.MachineStudio.RML.csproj | 8 +++ .../ViewModels/AddLiquidFactorViewVM.cs | 50 +++++++++++++++ .../ViewModels/MainViewVM.cs | 71 ++++++++++++++++++++++ .../Views/AddLiquidFactorView.xaml | 56 +++++++++++++++++ .../Views/AddLiquidFactorView.xaml.cs | 28 +++++++++ .../Tango.MachineStudio.RML/Views/RmlView.xaml | 13 ++-- 11 files changed, 244 insertions(+), 9 deletions(-) create mode 100644 Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.RML/ViewModels/AddLiquidFactorViewVM.cs create mode 100644 Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.RML/Views/AddLiquidFactorView.xaml create mode 100644 Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.RML/Views/AddLiquidFactorView.xaml.cs (limited to 'Software/Visual_Studio/MachineStudio') diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ColorLab/Tango.MachineStudio.ColorLab.csproj b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ColorLab/Tango.MachineStudio.ColorLab.csproj index 18d51aa09..b4ab87be6 100644 --- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ColorLab/Tango.MachineStudio.ColorLab.csproj +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ColorLab/Tango.MachineStudio.ColorLab.csproj @@ -131,6 +131,10 @@ {a34ee0f0-649d-41c8-8489-b6f1cc6924ee} Tango.Core + + {ca87a608-7b17-4c98-88f2-42abee10f4c1} + Tango.Documents + {942134ac-6ea2-4500-8f22-0f739b70a05f} Tango.Hive @@ -187,7 +191,7 @@ - + \ No newline at end of file diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ColorLab/ViewModels/CalibrationDataPointVM.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ColorLab/ViewModels/CalibrationDataPointVM.cs index 74f892a81..33110d50e 100644 --- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ColorLab/ViewModels/CalibrationDataPointVM.cs +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ColorLab/ViewModels/CalibrationDataPointVM.cs @@ -3,11 +3,12 @@ using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; +using Tango.Core; using Tango.SharedUI; namespace Tango.MachineStudio.ColorLab.ViewModels { - public class CalibrationDataPointVM : ViewModel + public class CalibrationDataPointVM : ExtendedObject { private double _x; diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ColorLab/ViewModels/CalibrationDataVM.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ColorLab/ViewModels/CalibrationDataVM.cs index 87bbacab5..8fe8ec4ac 100644 --- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ColorLab/ViewModels/CalibrationDataVM.cs +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ColorLab/ViewModels/CalibrationDataVM.cs @@ -5,12 +5,22 @@ using System.Linq; using System.Text; using System.Threading.Tasks; using Tango.BL.Entities; +using Tango.Core; using Tango.SharedUI; namespace Tango.MachineStudio.ColorLab.ViewModels { - public class CalibrationDataVM : ViewModel + public class CalibrationDataVM : ExtendedObject { + private LiquidType _liquidType; + + public LiquidType LiquidType + { + get { return _liquidType; } + set { _liquidType = value; RaisePropertyChangedAuto(); } + } + + private String _name; public String Name diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ColorLab/ViewModels/LiquidVolumeVM.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ColorLab/ViewModels/LiquidVolumeVM.cs index 245fda239..ca4f12b5d 100644 --- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ColorLab/ViewModels/LiquidVolumeVM.cs +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ColorLab/ViewModels/LiquidVolumeVM.cs @@ -4,11 +4,12 @@ using System.Linq; using System.Text; using System.Threading.Tasks; using Tango.BL.Entities; +using Tango.Core; using Tango.SharedUI; namespace Tango.MachineStudio.ColorLab.ViewModels { - public class LiquidVolumeVM : ViewModel + public class LiquidVolumeVM : ExtendedObject { public event EventHandler VolumeChanged; diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ColorLab/ViewModels/RgbVM.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ColorLab/ViewModels/RgbVM.cs index badb238fb..aae490a6e 100644 --- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ColorLab/ViewModels/RgbVM.cs +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.ColorLab/ViewModels/RgbVM.cs @@ -4,11 +4,12 @@ using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Media; +using Tango.Core; using Tango.SharedUI; namespace Tango.MachineStudio.ColorLab.ViewModels { - public class RgbVM : ViewModel + public class RgbVM : ExtendedObject { public event EventHandler ColorChanged; diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.RML/Tango.MachineStudio.RML.csproj b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.RML/Tango.MachineStudio.RML.csproj index 99b0a3c19..b9d77e95a 100644 --- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.RML/Tango.MachineStudio.RML.csproj +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.RML/Tango.MachineStudio.RML.csproj @@ -88,7 +88,11 @@ True + + + AddLiquidFactorView.xaml + MainView.xaml @@ -159,6 +163,10 @@ + + Designer + MSBuild:Compile + Designer MSBuild:Compile diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.RML/ViewModels/AddLiquidFactorViewVM.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.RML/ViewModels/AddLiquidFactorViewVM.cs new file mode 100644 index 000000000..f6fca0ac2 --- /dev/null +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.RML/ViewModels/AddLiquidFactorViewVM.cs @@ -0,0 +1,50 @@ +using System; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Tango.BL; +using Tango.BL.Entities; +using Tango.SharedUI; +using System.Data.Entity; + +namespace Tango.MachineStudio.RML.ViewModels +{ + public class AddLiquidFactorViewVM : DialogViewVM + { + private ObservablesContext _context; + + private ObservableCollection _liquidTypes; + public ObservableCollection LiquidTypes + { + get + { + return _liquidTypes; + } + set + { + _liquidTypes = value; RaisePropertyChangedAuto(); + } + } + + private LiquidType _selectedLiquidType; + public LiquidType SelectedLiquidType + { + get { return _selectedLiquidType; } + set { _selectedLiquidType = value; RaisePropertyChangedAuto(); } + } + + public AddLiquidFactorViewVM(ObservablesContext context) + { + _context = context; + } + + public async override void OnShow() + { + base.OnShow(); + LiquidTypes = (await _context.LiquidTypes.ToListAsync()).ToObservableCollection(); + SelectedLiquidType = LiquidTypes.FirstOrDefault(); + } + } +} diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.RML/ViewModels/MainViewVM.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.RML/ViewModels/MainViewVM.cs index b7e7859ac..be46e2148 100644 --- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.RML/ViewModels/MainViewVM.cs +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.RML/ViewModels/MainViewVM.cs @@ -14,6 +14,7 @@ using Tango.MachineStudio.ColorLab.ViewModels; using Tango.MachineStudio.Common; using Tango.MachineStudio.Common.Notifications; using Tango.MachineStudio.RML.Contracts; +using Tango.MachineStudio.RML.Views; namespace Tango.MachineStudio.RML.ViewModels { @@ -140,6 +141,14 @@ namespace Tango.MachineStudio.RML.ViewModels public RelayCommand AddProcessParametersTableCommand { get; set; } + public RelayCommand RemoveProcessParametersTableCommand { get; set; } + + public RelayCommand AddLiquidFactorCommand { get; set; } + + public RelayCommand RemoveLiquidFactorCommand { get; set; } + + public RelayCommand CreateCalibrationDataExcelTemplateCommand { get; set; } + /// /// Gets or sets the back to RMLS command. /// @@ -153,6 +162,10 @@ namespace Tango.MachineStudio.RML.ViewModels AddRmlCommand = new RelayCommand(AddNewRml); BackToRmlsCommand = new RelayCommand(BackToRmls); AddProcessParametersTableCommand = new RelayCommand(AddProcessParametersTable); + RemoveProcessParametersTableCommand = new RelayCommand(RemoveProcessParametersTable); + AddLiquidFactorCommand = new RelayCommand(AddLiquidFactor); + RemoveLiquidFactorCommand = new RelayCommand(RemoveLiquidFactor); + CreateCalibrationDataExcelTemplateCommand = new RelayCommand(CreateCalibrationDataExcelTemplate); } public override void OnApplicationReady() @@ -205,6 +218,7 @@ namespace Tango.MachineStudio.RML.ViewModels CalibrationDataVM catVM = new CalibrationDataVM(); catVM.Name = liquidTypeRml.LiquidType.Name; catVM.Color = liquidTypeRml.LiquidType.Color; + catVM.LiquidType = liquidTypeRml.LiquidType; if (liquidTypeRml.DefaultCatData != null) { @@ -316,6 +330,63 @@ namespace Tango.MachineStudio.RML.ViewModels ActiveProcessParametersTableView.Refresh(); } + private void RemoveLiquidFactor(LiquidTypesRml liquidFactor) + { + if (_notification.ShowQuestion("Removing this liquid factor will remove the liquid type association with the RML and will drop the calibration data. Are you sure?")) + { + var catVM = CalibrationDataViewVM.LiquidsCalibrationData.SingleOrDefault(x => x.LiquidType == liquidFactor.LiquidType); + CalibrationDataViewVM.LiquidsCalibrationData.Remove(catVM); + _active_context.LiquidTypesRmls.Remove(liquidFactor); + } + } + + private void AddLiquidFactor() + { + AddLiquidFactorViewVM vm = new AddLiquidFactorViewVM(_active_context); + _notification.ShowModalDialog(vm, (_) => + { + if (LiquidTypesRmls.ToList().Exists(x => x.LiquidType == vm.SelectedLiquidType)) + { + _notification.ShowError("The selected liquid type is already associated with this RML."); + return; + } + + LiquidTypesRml liquidFactor = new LiquidTypesRml() + { + LiquidType = vm.SelectedLiquidType, + Rml = ActiveRML, + }; + + _active_context.LiquidTypesRmls.Add(liquidFactor); + + CalibrationDataVM catVM = new CalibrationDataVM(); + catVM.Name = liquidFactor.LiquidType.Name; + catVM.Color = liquidFactor.LiquidType.Color; + + CalibrationDataViewVM.LiquidsCalibrationData.Add(catVM); + + }, () => { }); + } + + private void RemoveProcessParametersTable(ProcessParametersTable processParametersTable) + { + if (ActiveProcessParametersGroup.ProcessParametersTables.Count == 1) + { + _notification.ShowError("The process group must contain at least one table."); + return; + } + + if (_notification.ShowQuestion("Are you sure you want to remove this process parameters table?")) + { + _active_context.ProcessParametersTables.Remove(processParametersTable); + } + } + + private void CreateCalibrationDataExcelTemplate() + { + + } + private void BackToRmls() { View.NavigateTo(RmlNavigationView.RmlsView); diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.RML/Views/AddLiquidFactorView.xaml b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.RML/Views/AddLiquidFactorView.xaml new file mode 100644 index 000000000..6d9b68edb --- /dev/null +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.RML/Views/AddLiquidFactorView.xaml @@ -0,0 +1,56 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + , + v + + + + + + + + + + diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.RML/Views/AddLiquidFactorView.xaml.cs b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.RML/Views/AddLiquidFactorView.xaml.cs new file mode 100644 index 000000000..cdacddf42 --- /dev/null +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.RML/Views/AddLiquidFactorView.xaml.cs @@ -0,0 +1,28 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows; +using System.Windows.Controls; +using System.Windows.Data; +using System.Windows.Documents; +using System.Windows.Input; +using System.Windows.Media; +using System.Windows.Media.Imaging; +using System.Windows.Navigation; +using System.Windows.Shapes; + +namespace Tango.MachineStudio.RML.Views +{ + /// + /// Interaction logic for AddLiquidFactorView.xaml + /// + public partial class AddLiquidFactorView : UserControl + { + public AddLiquidFactorView() + { + InitializeComponent(); + } + } +} diff --git a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.RML/Views/RmlView.xaml b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.RML/Views/RmlView.xaml index e77663de4..aa6f39d9e 100644 --- a/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.RML/Views/RmlView.xaml +++ b/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.RML/Views/RmlView.xaml @@ -155,7 +155,7 @@ - @@ -221,7 +221,7 @@ LIQUID FACTORS - @@ -234,9 +234,9 @@ - + - @@ -269,7 +269,12 @@ + CALIBRATION DATA + + -- cgit v1.3.1