From 2a256fbbbf34d04b4b5aa2fae3d511cea62c4886 Mon Sep 17 00:00:00 2001 From: Rene Evertz Date: Mon, 14 Apr 2025 15:38:47 +0200 Subject: [PATCH] =?UTF-8?q?AI=20Control=20nur=20im=20debug=20sichtbar=20+?= =?UTF-8?q?=20sp=C3=A4ter=20im=20speziellen=20Client?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Zeiterfassung/ServiceRecordView2.xaml.cs | 5 +- .../Navigation/CustomerNavigationView.xaml.cs | 9 +- .../Navigation/EmployeeNavigationView.xaml.cs | 443 +++++++++--------- .../Navigation/PersonNavigationView.xaml.cs | 5 +- BeWo/View/Windows/AiWindowBuilder.cs | 10 + 5 files changed, 243 insertions(+), 229 deletions(-) diff --git a/BeWo/View/Detail/Zeiterfassung/ServiceRecordView2.xaml.cs b/BeWo/View/Detail/Zeiterfassung/ServiceRecordView2.xaml.cs index 0a0c95510..15fcbac2c 100644 --- a/BeWo/View/Detail/Zeiterfassung/ServiceRecordView2.xaml.cs +++ b/BeWo/View/Detail/Zeiterfassung/ServiceRecordView2.xaml.cs @@ -5097,7 +5097,7 @@ namespace BeWo.View.Detail.Zeiterfassung var window = BeWoWindowBuilder.AiWindowBuilder.GetAiConversationWindow(UIContext.ServiceRecord, context); - window.Show(); + window?.Show(); } private void Ai_Button2_Click(object sender, RoutedEventArgs e) { @@ -5107,7 +5107,8 @@ namespace BeWo.View.Detail.Zeiterfassung var control = BeWoWindowBuilder.AiWindowBuilder.GetAiConversationControl(UIContext.ServiceRecord, context); - MainControl.ShowControlAsModalPopup(control); + if(control is object) + MainControl.ShowControlAsModalPopup(control); } private IEnumerable GetVisibleRecordVMs() diff --git a/BeWo/View/Navigation/CustomerNavigationView.xaml.cs b/BeWo/View/Navigation/CustomerNavigationView.xaml.cs index 02a1f6668..0eb4365da 100644 --- a/BeWo/View/Navigation/CustomerNavigationView.xaml.cs +++ b/BeWo/View/Navigation/CustomerNavigationView.xaml.cs @@ -207,7 +207,7 @@ namespace BeWo.View.Navigation var window = BeWoWindowBuilder.AiWindowBuilder.GetAiConversationWindow(UIContext.Customer, context); - window.Show(); + window?.Show(); } private void OpenAiPopup() @@ -216,7 +216,8 @@ namespace BeWo.View.Navigation var control = BeWoWindowBuilder.AiWindowBuilder.GetAiConversationControl(UIContext.Customer, context); - MainControl.ShowControlAsModalPopup(control); + if (control is object) + MainControl.ShowControlAsModalPopup(control); } private void SupportConceptFilterComboBoxOnSelectionChanged(object o, SelectionChangedEventArgs selectionChangedEventArgs) @@ -240,8 +241,8 @@ namespace BeWo.View.Navigation ServiceFacade.DoCustomerServiceAsync(s => s.ConvertToNewSubstitutionType(), n => this.Dispatch(delegate { ReloadData(false); - })); - + })); + CommandManager.InvalidateRequerySuggested(); } diff --git a/BeWo/View/Navigation/EmployeeNavigationView.xaml.cs b/BeWo/View/Navigation/EmployeeNavigationView.xaml.cs index 7a33e965f..668c8dc63 100644 --- a/BeWo/View/Navigation/EmployeeNavigationView.xaml.cs +++ b/BeWo/View/Navigation/EmployeeNavigationView.xaml.cs @@ -26,15 +26,15 @@ using Microsoft.Win32; namespace BeWo.View.Navigation { - public partial class EmployeeNavigationView - { + public partial class EmployeeNavigationView + { - private IEnumerable objectList; - private IEnumerable recentList; + private IEnumerable objectList; + private IEnumerable recentList; - public EmployeeNavigationView() - { - InitializeComponent(); + public EmployeeNavigationView() + { + InitializeComponent(); mainNavigationView.OpenAiWindowCommand = new DelegateCommand(OpenAiWindow, () => BeWoApp.HasLoggedOnUserRight(UserRightType.AiModuleView)); mainNavigationView.OpenAiPopupCommand = new DelegateCommand(OpenAiPopup, () => BeWoApp.HasLoggedOnUserRight(UserRightType.AiModuleView2)); @@ -49,40 +49,40 @@ namespace BeWo.View.Navigation //} mainNavigationView.Sorter = new EmployeeSorter(); - //this.linkNewLicense.NavigateUri = new Uri("http://www.bewoplaner.de/bewoplaner_mitarbeiter.html?ClientOID=" + BeWoApp.Tenant); - //if (BeWoApp.LoggedOnUser.HasRight(UserRightType.EmployeeView_Edit)) - // textblock_link.Visibility = Visibility.Visible; + //this.linkNewLicense.NavigateUri = new Uri("http://www.bewoplaner.de/bewoplaner_mitarbeiter.html?ClientOID=" + BeWoApp.Tenant); + //if (BeWoApp.LoggedOnUser.HasRight(UserRightType.EmployeeView_Edit)) + // textblock_link.Visibility = Visibility.Visible; //###CB SERIENBRIEF mainNavigationView.MailMergeButton.Visibility = Visibility.Collapsed; - mainNavigationView.EditButtonsVisible = true; + mainNavigationView.EditButtonsVisible = true; mainNavigationView.ArchiveButtonVisible = BeWoApp.LoggedOnUser.HasRight(UserRightType.Employee_AllowArchiving); - mainNavigationView.DeleteButtonVisible = BeWoApp.LoggedOnUser.HasRight(UserRightType.EmployeeView_Delete) || BeWoApp.LoggedOnUser.HasRight(UserRightType.DeleteAll); + mainNavigationView.DeleteButtonVisible = BeWoApp.LoggedOnUser.HasRight(UserRightType.EmployeeView_Delete) || BeWoApp.LoggedOnUser.HasRight(UserRightType.DeleteAll); - if (BeWoApp.LoggedOnUser.HasRight(UserRightType.User_AllowOrderLicense)) - { - var url = ServiceFacade.DoOperationsServiceSync(s => s.GetLicenseOrderUrlNeu("2")); + if (BeWoApp.LoggedOnUser.HasRight(UserRightType.User_AllowOrderLicense)) + { + var url = ServiceFacade.DoOperationsServiceSync(s => s.GetLicenseOrderUrlNeu("2")); - if (!String.IsNullOrEmpty(url)) - { - this.linkNewLicense.NavigateUri = new Uri(url); - } - else - { - textblock_link.Visibility = Visibility.Collapsed; - } - } - else - { - textblock_link.Visibility = Visibility.Collapsed; - } - } + if (!String.IsNullOrEmpty(url)) + { + this.linkNewLicense.NavigateUri = new Uri(url); + } + else + { + textblock_link.Visibility = Visibility.Collapsed; + } + } + else + { + textblock_link.Visibility = Visibility.Collapsed; + } + } - private void OnLoaded(object sender, RoutedEventArgs e) - { - ReloadData(false); - - CommandManager.InvalidateRequerySuggested(); + private void OnLoaded(object sender, RoutedEventArgs e) + { + ReloadData(false); + + CommandManager.InvalidateRequerySuggested(); } public Dictionary GetVisibleInformationReferences() @@ -114,7 +114,7 @@ namespace BeWo.View.Navigation var window = BeWoWindowBuilder.AiWindowBuilder.GetAiConversationWindow(UIContext.Employee, context); - window.Show(); + window?.Show(); } private void OpenAiPopup() @@ -123,33 +123,34 @@ namespace BeWo.View.Navigation var control = BeWoWindowBuilder.AiWindowBuilder.GetAiConversationControl(UIContext.Employee, context); - MainControl.ShowControlAsModalPopup(control); + if (control is object) + MainControl.ShowControlAsModalPopup(control); } private bool MainNavigationView_ArchiveObject(IFilterableDC obj) - { - if (obj is CompactEmployeeDC dc) - { - if (MessageBox.Show(Translator.Translate("Wollen Sie den Mitarbeiter '{0}' wirklich archivieren?", dc.FirstName + " " + dc.LastName), "Archivieren", MessageBoxButton.YesNo, MessageBoxImage.Exclamation) == MessageBoxResult.Yes) - { - ServiceFacade.DoEmployeeServiceAsync( - s => - { - s.ArchiveEmployee(dc.EmployeeOid, dc.EmployeeVersion); - return dc; - }, - cb => cb.EmployeeVersion++); - return true; - } - } + { + if (obj is CompactEmployeeDC dc) + { + if (MessageBox.Show(Translator.Translate("Wollen Sie den Mitarbeiter '{0}' wirklich archivieren?", dc.FirstName + " " + dc.LastName), "Archivieren", MessageBoxButton.YesNo, MessageBoxImage.Exclamation) == MessageBoxResult.Yes) + { + ServiceFacade.DoEmployeeServiceAsync( + s => + { + s.ArchiveEmployee(dc.EmployeeOid, dc.EmployeeVersion); + return dc; + }, + cb => cb.EmployeeVersion++); + return true; + } + } - return false; - } + return false; + } - private void MainNavigationView_CreateNewObject() - { + private void MainNavigationView_CreateNewObject() + { var licenseInfo = ServiceFacade.DoOperationsServiceSync(s => s.GetLicenseInfo()); - + if (licenseInfo.EmployeeCount < licenseInfo.MaxEmployeeCount) { VMFactory.CreateEmployeeVMAsync(cb => this.Dispatch(delegate { MainControl.NavigateTo(new EmployeeView(cb) { ParentView = this }); })); @@ -157,204 +158,204 @@ namespace BeWo.View.Navigation else { MessageBox.Show("Leider verfügen Sie nicht über genügend Lizenzen, um " + Translator.Translate("einen neuen Mitarbeiter") + " anzulegen.\n\n" + - string.Format("Sie verfügen derzeit über {0} kostenpflichtige " + Translator.Translate("Benutzerlizenzen") + ", somit können Sie maximal {1} " + Translator.Translate("MitarbeiterPlural") + " anlegen.\n({0} " + Translator.Translate("Benutzer") + " + {2} % = {1} " + Translator.Translate("Mitarbeiterlizenzen") + ".)", licenseInfo.MaxLicenseCount, licenseInfo.MaxEmployeeCount, licenseInfo.PercentFreeEmployee)+ - "\n\nSie können nun entweder " + Translator.Translate("MitarbeiterPlural") + " archivieren oder im Modul \"" + Translator.Translate("BenutzerMenuItem") + "\" neue " + Translator.Translate("BenutzerPlural") + "lizenzen bestellen. Bitte beachten Sie, dass hierfür das Recht \"Neue Lizenz bestellen\" erforderlich ist.", Translator.Translate("MitarbeiterSingular") +" anlegen", MessageBoxButton.OK, + string.Format("Sie verfügen derzeit über {0} kostenpflichtige " + Translator.Translate("Benutzerlizenzen") + ", somit können Sie maximal {1} " + Translator.Translate("MitarbeiterPlural") + " anlegen.\n({0} " + Translator.Translate("Benutzer") + " + {2} % = {1} " + Translator.Translate("Mitarbeiterlizenzen") + ".)", licenseInfo.MaxLicenseCount, licenseInfo.MaxEmployeeCount, licenseInfo.PercentFreeEmployee) + + "\n\nSie können nun entweder " + Translator.Translate("MitarbeiterPlural") + " archivieren oder im Modul \"" + Translator.Translate("BenutzerMenuItem") + "\" neue " + Translator.Translate("BenutzerPlural") + "lizenzen bestellen. Bitte beachten Sie, dass hierfür das Recht \"Neue Lizenz bestellen\" erforderlich ist.", Translator.Translate("MitarbeiterSingular") + " anlegen", MessageBoxButton.OK, MessageBoxImage.Information); } - } + } - private bool MainNavigationView_DeleteObject(IFilterableDC obj) - { - if (obj is CompactEmployeeDC dc) - { - if (MessageBox.Show(Translator.Translate("Wollen Sie den Mitarbeiter '{0}' wirklich löschen?", dc.FirstName + " " + dc.LastName), "Löschen", MessageBoxButton.YesNo, MessageBoxImage.Exclamation) == MessageBoxResult.Yes) - { - ServiceFacade.DoEmployeeServiceAsync(s => s.DeactivateEmployee(dc.EmployeeOid, dc.EmployeeVersion)); - return true; - } - } + private bool MainNavigationView_DeleteObject(IFilterableDC obj) + { + if (obj is CompactEmployeeDC dc) + { + if (MessageBox.Show(Translator.Translate("Wollen Sie den Mitarbeiter '{0}' wirklich löschen?", dc.FirstName + " " + dc.LastName), "Löschen", MessageBoxButton.YesNo, MessageBoxImage.Exclamation) == MessageBoxResult.Yes) + { + ServiceFacade.DoEmployeeServiceAsync(s => s.DeactivateEmployee(dc.EmployeeOid, dc.EmployeeVersion)); + return true; + } + } - return false; - } + return false; + } - private void MainNavigationView_ExcelExport(object sender, EventArgs> e) - { + private void MainNavigationView_ExcelExport(object sender, EventArgs> e) + { var path = BeWoApp.GetAndCreateUserAppDataPath() + Translator.Translate("\\Mitarbeiter.xls"); - var sf = new SaveFileDialog { FileName = Path.GetFileName(path), Filter = "Microsoft Excel 97-2003-Arbeitsblatt|*.xls|Alle Dateien|*.*" }; - if (sf.ShowDialog() != true) - { - return; - } + var sf = new SaveFileDialog { FileName = Path.GetFileName(path), Filter = "Microsoft Excel 97-2003-Arbeitsblatt|*.xls|Alle Dateien|*.*" }; + if (sf.ShowDialog() != true) + { + return; + } - ServiceFacade.DoDownloadServiceSync(s => BeWoUtils.WriteExcelFile(s.PrepareExcelFileEmployeeExport(mainNavigationView.DownloadLinkEngine.ExcelFileId, e.Data.Cast().Select(c => c.EmployeeOid).ToList()), sf.FileName)); - } + ServiceFacade.DoDownloadServiceSync(s => BeWoUtils.WriteExcelFile(s.PrepareExcelFileEmployeeExport(mainNavigationView.DownloadLinkEngine.ExcelFileId, e.Data.Cast().Select(c => c.EmployeeOid).ToList()), sf.FileName)); + } - private void MainNavigationView_OpenObject(IFilterableDC obj) - { - if (obj is CompactEmployeeDC dc) - { - VMFactory.CreateEmployeeVMAsync(dc.EmployeeOid, cb => this.Dispatch(delegate { MainControl.NavigateTo(new EmployeeView(cb) { ParentView = this }); })); - } - } + private void MainNavigationView_OpenObject(IFilterableDC obj) + { + if (obj is CompactEmployeeDC dc) + { + VMFactory.CreateEmployeeVMAsync(dc.EmployeeOid, cb => this.Dispatch(delegate { MainControl.NavigateTo(new EmployeeView(cb) { ParentView = this }); })); + } + } - public override void ChildViewClosed() - { - recentList = null; - objectList = null; - } + public override void ChildViewClosed() + { + recentList = null; + objectList = null; + } - private void MainNavigationView_OnReloadData() - { - ReloadData(true); - } + private void MainNavigationView_OnReloadData() + { + ReloadData(true); + } - private void ReloadData(bool refresh) - { - if (refresh || recentList == null) - { - ServiceFacade.DoEmployeeServiceAsync(s => s.GetAllCompactEmployees(), r => + private void ReloadData(bool refresh) + { + if (refresh || recentList == null) + { + ServiceFacade.DoEmployeeServiceAsync(s => s.GetAllCompactEmployees(), r => this.Dispatch(delegate { - if(BeWoApp.LoggedOnUser.HasRight(UserRightType.EmployeeView_View)) + if (BeWoApp.LoggedOnUser.HasRight(UserRightType.EmployeeView_View)) { objectList = r; } - else if(BeWoApp.LoggedOnUser.HasRight(UserRightType.Employee_AllowViewOwnTeam)) + else if (BeWoApp.LoggedOnUser.HasRight(UserRightType.Employee_AllowViewOwnTeam)) + { + objectList = r.Where(emp => emp.EmployeeOid == BeWoApp.LoggedOnEmployee.EmployeeOid || BeWoApp.LoggedOnUser.Employee.AllTeamMemberOids != null && BeWoApp.LoggedOnUser.Employee.AllTeamMemberOids.Contains(emp.EmployeeOid)); + } + else if (BeWoApp.LoggedOnUser.HasRight(UserRightType.Employee_AllowViewOwnEmployees)) { - objectList = r.Where(emp => emp.EmployeeOid == BeWoApp.LoggedOnEmployee.EmployeeOid || BeWoApp.LoggedOnUser.Employee.AllTeamMemberOids != null && BeWoApp.LoggedOnUser.Employee.AllTeamMemberOids.Contains(emp.EmployeeOid)); - } - else if(BeWoApp.LoggedOnUser.HasRight(UserRightType.Employee_AllowViewOwnEmployees)) - { objectList = r.Where(emp => emp.EmployeeOid == BeWoApp.LoggedOnEmployee.EmployeeOid); } - else - { - objectList = new List(); - } + else + { + objectList = new List(); + } - mainNavigationView.ShowSearchResult(objectList); + mainNavigationView.ShowSearchResult(objectList); })); - ServiceFacade.DoEmployeeServiceAsync(s => s.GetLastOpenedEmployees(), lastOpenedEmployees => - this.Dispatch(delegate - { - if(BeWoApp.LoggedOnUser.HasRight(UserRightType.EmployeeView_View)) - { - recentList = lastOpenedEmployees; - } - else if(BeWoApp.LoggedOnUser.HasRight(UserRightType.Employee_AllowViewOwnTeam)) - { - recentList = lastOpenedEmployees.Where(w => w.EmployeeOid == BeWoApp.LoggedOnEmployee.EmployeeOid || BeWoApp.LoggedOnUser.Employee.AllTeamMemberOids != null && BeWoApp.LoggedOnUser.Employee.AllTeamMemberOids.Contains(w.EmployeeOid)); - } - else if(BeWoApp.LoggedOnUser.HasRight(UserRightType.Employee_AllowViewOwnEmployees)) - { - recentList = lastOpenedEmployees.Where(w => w.EmployeeOid == BeWoApp.LoggedOnEmployee.EmployeeOid); - } - else - { - recentList = new List(); - } - - mainNavigationView.ShowHistory(recentList); - })); - } - else - { - mainNavigationView.ShowSearchResult(objectList); - mainNavigationView.ShowHistory(recentList); - } - } + ServiceFacade.DoEmployeeServiceAsync(s => s.GetLastOpenedEmployees(), lastOpenedEmployees => + this.Dispatch(delegate + { + if (BeWoApp.LoggedOnUser.HasRight(UserRightType.EmployeeView_View)) + { + recentList = lastOpenedEmployees; + } + else if (BeWoApp.LoggedOnUser.HasRight(UserRightType.Employee_AllowViewOwnTeam)) + { + recentList = lastOpenedEmployees.Where(w => w.EmployeeOid == BeWoApp.LoggedOnEmployee.EmployeeOid || BeWoApp.LoggedOnUser.Employee.AllTeamMemberOids != null && BeWoApp.LoggedOnUser.Employee.AllTeamMemberOids.Contains(w.EmployeeOid)); + } + else if (BeWoApp.LoggedOnUser.HasRight(UserRightType.Employee_AllowViewOwnEmployees)) + { + recentList = lastOpenedEmployees.Where(w => w.EmployeeOid == BeWoApp.LoggedOnEmployee.EmployeeOid); + } + else + { + recentList = new List(); + } - private void LinkNewLicense_OnRequestNavigate(object sender, RequestNavigateEventArgs e) - { - System.Diagnostics.Process.Start(new System.Diagnostics.ProcessStartInfo(((Hyperlink) sender).NavigateUri.ToString())); - } + mainNavigationView.ShowHistory(recentList); + })); + } + else + { + mainNavigationView.ShowSearchResult(objectList); + mainNavigationView.ShowHistory(recentList); + } + } - public void ReactivateEmployee(CompactEmployeeDC pEmployee) - { - if(MessageBox.Show("Wollen Sie " + Translator.Translate("den Mitarbeiter") + " '" + pEmployee.FirstName + " " + pEmployee.LastName + "' wirklich reaktivieren?", "Löschen", MessageBoxButton.YesNo, MessageBoxImage.Exclamation) == MessageBoxResult.No) - { - return; - } + private void LinkNewLicense_OnRequestNavigate(object sender, RequestNavigateEventArgs e) + { + System.Diagnostics.Process.Start(new System.Diagnostics.ProcessStartInfo(((Hyperlink)sender).NavigateUri.ToString())); + } - ServiceFacade.DoEmployeeServiceAsync(s => - { - s.ReactivateEmployee(pEmployee.EmployeeOid, pEmployee.Version); - return pEmployee; - }, cb => cb.EmployeeVersion++); + public void ReactivateEmployee(CompactEmployeeDC pEmployee) + { + if (MessageBox.Show("Wollen Sie " + Translator.Translate("den Mitarbeiter") + " '" + pEmployee.FirstName + " " + pEmployee.LastName + "' wirklich reaktivieren?", "Löschen", MessageBoxButton.YesNo, MessageBoxImage.Exclamation) == MessageBoxResult.No) + { + return; + } - pEmployee.ActivationType = ActivationTypeId.Active; - var context = mainNavigationView.objectListBox.DataContext; - mainNavigationView.objectListBox.DataContext = null; - mainNavigationView.objectListBox.DataContext = context; - } + ServiceFacade.DoEmployeeServiceAsync(s => + { + s.ReactivateEmployee(pEmployee.EmployeeOid, pEmployee.Version); + return pEmployee; + }, cb => cb.EmployeeVersion++); - public void AnonymizeEmployee(CompactEmployeeDC pEmployee) - { - var dialog = new MessageDialog(() => - { - this.Dispatch(() => - { - ServiceFacade.DoOperationsServiceAsync(s => - { - s.AnonymizeEmployee(pEmployee.EmployeeOid); - }, () => { ReloadData(true); }); - }); - }); + pEmployee.ActivationType = ActivationTypeId.Active; + var context = mainNavigationView.objectListBox.DataContext; + mainNavigationView.objectListBox.DataContext = null; + mainNavigationView.objectListBox.DataContext = context; + } - ServiceFacade.DoOperationsServiceAsync(s => s.GetMessageFromServer(TableID.Employee, pEmployee.EmployeeOid, MessageType.Anonymization), xaml => - { - this.Dispatch(() => - { - dialog.SetXaml(xaml); - dialog.ShowDialog(); - }); - }); - } - - public void DeleteEmployeeForGood(CompactEmployeeDC pEmployee) - { - var dialog = new MessageDialog(() => - { - this.Dispatch(() => - { - ServiceFacade.DoOperationsServiceAsync(s => - { - s.DeleteEmployeeForGood(pEmployee.EmployeeOid); - }, () => { ReloadData(true); }); - }); - }); + public void AnonymizeEmployee(CompactEmployeeDC pEmployee) + { + var dialog = new MessageDialog(() => + { + this.Dispatch(() => + { + ServiceFacade.DoOperationsServiceAsync(s => + { + s.AnonymizeEmployee(pEmployee.EmployeeOid); + }, () => { ReloadData(true); }); + }); + }); - ServiceFacade.DoOperationsServiceAsync(s => s.GetMessageFromServer(TableID.Employee, pEmployee.EmployeeOid, MessageType.DeleteForGood), xaml => - { - this.Dispatch(() => - { - dialog.SetXaml(xaml); - dialog.ShowDialog(); - }); - }); - } + ServiceFacade.DoOperationsServiceAsync(s => s.GetMessageFromServer(TableID.Employee, pEmployee.EmployeeOid, MessageType.Anonymization), xaml => + { + this.Dispatch(() => + { + dialog.SetXaml(xaml); + dialog.ShowDialog(); + }); + }); + } - public void PrintEmployee(CompactEmployeeDC employee) - { - string url = BeWoApp.SiteOfOrigin + "/ReportView.aspx?eOid=" + employee.EmployeeOid + "&type=" + Utils.EnumName(ReportTypes.Employee); + public void DeleteEmployeeForGood(CompactEmployeeDC pEmployee) + { + var dialog = new MessageDialog(() => + { + this.Dispatch(() => + { + ServiceFacade.DoOperationsServiceAsync(s => + { + s.DeleteEmployeeForGood(pEmployee.EmployeeOid); + }, () => { ReloadData(true); }); + }); + }); - BeWoUtils.NavigateToReportUri(url, "Druckvorschau"); - } + ServiceFacade.DoOperationsServiceAsync(s => s.GetMessageFromServer(TableID.Employee, pEmployee.EmployeeOid, MessageType.DeleteForGood), xaml => + { + this.Dispatch(() => + { + dialog.SetXaml(xaml); + dialog.ShowDialog(); + }); + }); + } - private void mainNavigationView_Print(object sender, EventArgs> e) - { - var oids = e.Data.Cast().Select(c => c.EmployeeOid).ToList(); + public void PrintEmployee(CompactEmployeeDC employee) + { + string url = BeWoApp.SiteOfOrigin + "/ReportView.aspx?eOid=" + employee.EmployeeOid + "&type=" + Utils.EnumName(ReportTypes.Employee); - ServiceFacade.DoReportServiceAsync(s => s.CreateEmployeeListReport(oids), r => - { - this.Dispatch(() => - { - BeWoUtils.ShowReportWindow(r, Translator.Translate("Mitarbeiter")); - }); - }); - } - } + BeWoUtils.NavigateToReportUri(url, "Druckvorschau"); + } + + private void mainNavigationView_Print(object sender, EventArgs> e) + { + var oids = e.Data.Cast().Select(c => c.EmployeeOid).ToList(); + + ServiceFacade.DoReportServiceAsync(s => s.CreateEmployeeListReport(oids), r => + { + this.Dispatch(() => + { + BeWoUtils.ShowReportWindow(r, Translator.Translate("Mitarbeiter")); + }); + }); + } + } } \ No newline at end of file diff --git a/BeWo/View/Navigation/PersonNavigationView.xaml.cs b/BeWo/View/Navigation/PersonNavigationView.xaml.cs index 71a25aa36..0a0747a3e 100644 --- a/BeWo/View/Navigation/PersonNavigationView.xaml.cs +++ b/BeWo/View/Navigation/PersonNavigationView.xaml.cs @@ -116,7 +116,7 @@ namespace BeWo.View.Navigation var window = BeWoWindowBuilder.AiWindowBuilder.GetAiConversationWindow(UIContext.Person, context); - window.Show(); + window?.Show(); } private void OpenAiPopup() @@ -125,7 +125,8 @@ namespace BeWo.View.Navigation var control = BeWoWindowBuilder.AiWindowBuilder.GetAiConversationControl(UIContext.Person, context); - MainControl.ShowControlAsModalPopup(control); + if (control is object) + MainControl.ShowControlAsModalPopup(control); } private void SupportConceptFilterComboBoxOnSelectionChanged(object o, SelectionChangedEventArgs selectionChangedEventArgs) diff --git a/BeWo/View/Windows/AiWindowBuilder.cs b/BeWo/View/Windows/AiWindowBuilder.cs index 87b96a998..9b3bca173 100644 --- a/BeWo/View/Windows/AiWindowBuilder.cs +++ b/BeWo/View/Windows/AiWindowBuilder.cs @@ -21,6 +21,11 @@ namespace BeWo.View.Windows public Window GetAiConversationWindow(UIContext uIContext, Dictionary context, double height = 600, double width = 1200) { +#if !DEBUG + BeWoApp.ShowInfoMessage("Diese Funktion befindet sich in der Testphase."); + return null; +#endif + string title = null; UIContext2Header.TryGetValue(uIContext, out title); @@ -37,6 +42,11 @@ namespace BeWo.View.Windows public UserControl GetAiConversationControl(UIContext uIContext, Dictionary context) { +#if !DEBUG + BeWoApp.ShowInfoMessage("Diese Funktion befindet sich in der Testphase."); + return null; +#endif + var control = new AiConversationChatView(); control.ViewModel.UIContext = (int)uIContext;