From 99c757db6c5d9c67566b8c5ac6b3e5f18cb1010c Mon Sep 17 00:00:00 2001 From: Victoria Plitt Date: Wed, 13 Sep 2023 13:53:26 +0300 Subject: Machine studio->RML: show text button: “Activated in sites…” once clicked it will show a window with a list of sites are using this RML. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ViewModels/MainViewVM.cs | 44 ++++++++++++++++++++++ 1 file changed, 44 insertions(+) (limited to 'Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.RML/ViewModels/MainViewVM.cs') 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 7eb6e9058..e3c128cb7 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 @@ -41,6 +41,8 @@ namespace Tango.MachineStudio.RML.ViewModels private ObservablesContext _active_context; + #region Properties + private List _rmls; public List Rmls { @@ -237,7 +239,10 @@ namespace Tango.MachineStudio.RML.ViewModels get { return _RMLFilter; } set { _RMLFilter = value; RaisePropertyChangedAuto(); OnRMLFilterChanged(); } } + + #endregion + #region Commands /// /// Gets or sets the manage RML command. /// @@ -300,6 +305,10 @@ namespace Tango.MachineStudio.RML.ViewModels public RelayCommand BatchConversionCommand { get; set; } + public RelayCommand ActivatedInSitesCommand { get; set; } + + #endregion + public MainViewVM(INotificationProvider notificationProvider, IAuthenticationProvider authentication, IActionLogManager actionLogManager) { _notification = notificationProvider; @@ -316,6 +325,7 @@ namespace Tango.MachineStudio.RML.ViewModels RemoveLiquidFactorCommand = new RelayCommand(RemoveLiquidFactor, () => IsFree); CreateCalibrationDataExcelTemplateCommand = new RelayCommand(CreateCalibrationDataExcelTemplate); SaveCommand = new RelayCommand(Save, () => IsFree); + ActivatedInSitesCommand = new RelayCommand(ActivatedInSitesDialog, () => SelectedRML != null); ImportForwardDataCommand = new RelayCommand(ImportCCTData, () => ActiveRML != null && IsFree); @@ -1128,6 +1138,40 @@ namespace Tango.MachineStudio.RML.ViewModels } } + private async void ActivatedInSitesDialog() + { + if(SelectedRML == null) + return; + + try + { + using (ObservablesContext db = ObservablesContext.CreateDefault()) + { + IsFree = false; + + var selSites = await db.SitesRmls.OrderBy(x => x.ID).Where(y => y.RmlGuid == SelectedRML.Guid).Include(x=>x.Site).Select(x => x.Site.Name).ToListAsync(); + + var vm = new RmlActiveSitesDialogVM(selSites, SelectedRML.Name); + _notification.ShowModalDialog(vm, (x) => { }, () => { }); + + if (!vm.DialogResult) + { + return; + } + + + } + } + catch (Exception ex) + { + LogManager.Log(ex, $"Error display Activated In Sites selected RML {SelectedRML?.Name}."); + } + finally + { + IsFree = true; + } + } + private async void BackToRmls() { View.NavigateTo(RmlNavigationView.RmlsView); -- cgit v1.3.1