From e2a0d4fac2bca223f3e0648a8a2999c320d3dcfe Mon Sep 17 00:00:00 2001 From: rene Date: Thu, 29 Aug 2019 12:38:48 +0200 Subject: [PATCH] =?UTF-8?q?Tooltip=20bei=20dem=20ComboBoxTreeViewControl?= =?UTF-8?q?=20-=20Beim=20Ausw=C3=A4hlen=20von=20Ziele=20und=20Ma=C3=9Fnahm?= =?UTF-8?q?en=20wird=20ein=20"Hover"=20Effekt=20mit=20der=20Beschreibung?= =?UTF-8?q?=20angezeigt=20ReportTemplate=20hinzugef=C3=BCgt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- BeWo/Core/BeWoUtils.cs | 59 +++++++++++++++++-- BeWo/ServiceProxy/Generated.cs | 9 +++ .../Controls/ComboBoxTreeViewControl.xaml | 2 +- .../Controls/ListboxSelectControl.xaml.cs | 3 +- Data/Entities/ReportTemplate.cs | 5 +- Data/Mappings/ReportTemplate.hbm.xml | 2 +- Host/Multitenancy/demo.config | 2 +- Service/DCEntityMapper/MapperFactory.cs | 5 ++ .../ServiceContracts/IOperationsService.cs | 2 +- .../OperationsServiceImp.cs | 15 ++++- Shared/BeWoEntityEnums.cs | 6 -- Shared/DataContracts/ReportTemplateDC.cs | 10 ++-- 12 files changed, 93 insertions(+), 27 deletions(-) diff --git a/BeWo/Core/BeWoUtils.cs b/BeWo/Core/BeWoUtils.cs index 73b949058..fa3efe8c4 100644 --- a/BeWo/Core/BeWoUtils.cs +++ b/BeWo/Core/BeWoUtils.cs @@ -52,6 +52,7 @@ using DevExpress.Xpf.Bars; using DevExpress.Xpf.DocumentViewer; using DevExpress.Xpf.Printing.PreviewControl.Bars; using DevExpress.XtraScheduler; +using Control = System.Windows.Controls.Control; using Utils = BS.Shared.Core.Utils; namespace BeWo.Core @@ -104,13 +105,59 @@ namespace BeWo.Core } public static void NavigateToReportUriWithDocumentPreviewControl(string navigateUriString, string title, DocumentPreviewControl dp) - { - BeWoApp.MainControl.StartWaiting(); + { + var reportTemplates = ServiceFacade.DoOperationsServiceSync(x => x.GetReportTemplates(navigateUriString)); - StartGetReportStreamAsync(GetReportStreamForWPFControl, navigateUriString, ms => BeWoApp.MainControl.Dispatch(delegate - { - ShowReportWindow(ms, title, dp); - })); + if (reportTemplates?.Count > 1) + { + var control = new ListboxSelectControl(reportTemplates.Cast().ToList()); + + var beWoWindow = new BeWoWindow + { + Height = 200, + Width = 500, + WindowStartupLocation = WindowStartupLocation.CenterOwner, + GroupBoxContent = control, + Owner = BeWoApp.CurrentBeWo.MainWindow, + rootGroupBox = {Header = "Layout speichern"} + }; + + control.CancelButtonClicked += () => beWoWindow.Close(); + control.SelectButtonClicked += () => + { + if (control.SelectedItem == null) return; + + beWoWindow.Close(); + + var selectedTemplate = (ReportTemplateDC)control.SelectedItem; + + var start = navigateUriString.IndexOf("type="); + var end = navigateUriString.IndexOf('&', start); + + if (end == -1) end = navigateUriString.Length - 1; + + var typeString = navigateUriString.Substring(start, end - start + 1); + var newUri = navigateUriString.Replace(typeString, "template=" + (selectedTemplate.Oid.HasValue ? selectedTemplate.Oid.Value.ToString() : "-1")); + + BeWoApp.MainControl.StartWaiting(); + + StartGetReportStreamAsync(GetReportStreamForWPFControl, newUri, ms => BeWoApp.MainControl.Dispatch(delegate + { + ShowReportWindow(ms, title, dp); + })); + }; + + beWoWindow.ShowDialog(); + } + else + { + BeWoApp.MainControl.StartWaiting(); + + StartGetReportStreamAsync(GetReportStreamForWPFControl, navigateUriString, ms => BeWoApp.MainControl.Dispatch(delegate + { + ShowReportWindow(ms, title, dp); + })); + } } public static void CustomizeReportPreviewToolBar(object s, RoutedEventArgs e) diff --git a/BeWo/ServiceProxy/Generated.cs b/BeWo/ServiceProxy/Generated.cs index 66671d2b5..26907e570 100644 --- a/BeWo/ServiceProxy/Generated.cs +++ b/BeWo/ServiceProxy/Generated.cs @@ -4249,6 +4249,10 @@ namespace BeWo.ServiceProxy [System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IOperationsService/GetIcfBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")] System.Collections.Generic.List GetIcf(); + [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IOperationsService/GetReportTemplates", ReplyAction="http://tempuri.org/IOperationsService/GetReportTemplatesResponse")] + [System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IOperationsService/GetReportTemplatesBeWoFaultFault", Name="BeWoFault", Namespace="http://schemas.datacontract.org/2004/07/BeWo.Service.ServiceContracts")] + System.Collections.Generic.List GetReportTemplates(string url); + [System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IOperationsService/UpdateIsChatActiveCustomerAPPCodeDC", ReplyAction="http://tempuri.org/IOperationsService/UpdateIsChatActiveCustomerAPPCodeDCResponse" + "")] [System.ServiceModel.FaultContractAttribute(typeof(BeWo.ServiceProxy.BeWoFault), Action="http://tempuri.org/IOperationsService/UpdateIsChatActiveCustomerAPPCodeDCBeWoFaul" + @@ -5184,6 +5188,11 @@ namespace BeWo.ServiceProxy return base.Channel.GetIcf(); } + public System.Collections.Generic.List GetReportTemplates(string url) + { + return base.Channel.GetReportTemplates(url); + } + public void UpdateIsChatActiveCustomerAPPCodeDC(long customerOid, int activeType) { base.Channel.UpdateIsChatActiveCustomerAPPCodeDC(customerOid, activeType); diff --git a/BeWo/View/Controls/ComboBoxTreeViewControl.xaml b/BeWo/View/Controls/ComboBoxTreeViewControl.xaml index 8c20e41db..fa8e0f430 100644 --- a/BeWo/View/Controls/ComboBoxTreeViewControl.xaml +++ b/BeWo/View/Controls/ComboBoxTreeViewControl.xaml @@ -69,7 +69,7 @@ Grid.Column="1" Margin="3 2" Text="{Binding Path=DetailDescription}" VerticalAlignment="Center" HorizontalAlignment="Left" Foreground="Black" - MouseDown="BdText_OnMouseDown" TextAlignment="Left" /> + MouseDown="BdText_OnMouseDown" TextAlignment="Left" ToolTip="{Binding Path=GoalEntryDC.Notice}" /> diff --git a/BeWo/View/Controls/ListboxSelectControl.xaml.cs b/BeWo/View/Controls/ListboxSelectControl.xaml.cs index 96c732c4e..3996b78a2 100644 --- a/BeWo/View/Controls/ListboxSelectControl.xaml.cs +++ b/BeWo/View/Controls/ListboxSelectControl.xaml.cs @@ -22,6 +22,8 @@ namespace BeWo.View.Controls public ListboxSelectControl(List items) { + InitializeComponent(); + if (!items.Any()) throw new ArgumentOutOfRangeException(); Listbox.ItemsSource = items; Listbox.SelectedItem = items.First(); @@ -34,7 +36,6 @@ namespace BeWo.View.Controls private void CancelButton_Click(object sender, RoutedEventArgs e) { CancelButtonClicked?.Invoke(); - } private void SelectButton_Click(object sender, RoutedEventArgs e) diff --git a/Data/Entities/ReportTemplate.cs b/Data/Entities/ReportTemplate.cs index 3d169bbf2..00ab2c749 100644 --- a/Data/Entities/ReportTemplate.cs +++ b/Data/Entities/ReportTemplate.cs @@ -1,6 +1,7 @@ using System; using System.Collections.Generic; using BS.Shared; +using BS.Shared.DataContracts; namespace BeWo.Data.Entities { @@ -12,7 +13,7 @@ namespace BeWo.Data.Entities #region Fields - private ReportTemplateType _ReportTemplateType; + private ReportTypes _ReportTemplateType; private string _DisplayName; private string _ReferenceClass; @@ -45,7 +46,7 @@ namespace BeWo.Data.Entities #region Properties - public virtual ReportTemplateType ReportTemplateType + public virtual ReportTypes ReportTemplateType { get => _ReportTemplateType; set diff --git a/Data/Mappings/ReportTemplate.hbm.xml b/Data/Mappings/ReportTemplate.hbm.xml index 92f9f21d6..2a7a60556 100644 --- a/Data/Mappings/ReportTemplate.hbm.xml +++ b/Data/Mappings/ReportTemplate.hbm.xml @@ -15,7 +15,7 @@ - + \ No newline at end of file diff --git a/Host/Multitenancy/demo.config b/Host/Multitenancy/demo.config index ffdd8e32c..f49cf5cb7 100644 --- a/Host/Multitenancy/demo.config +++ b/Host/Multitenancy/demo.config @@ -16,7 +16,7 @@ - Server=localhost;Password=root;User ID=root; Initial Catalog=alpha + Server=localhost;Password=root;User ID=root; Initial Catalog=bewodemo diff --git a/Service/DCEntityMapper/MapperFactory.cs b/Service/DCEntityMapper/MapperFactory.cs index 75b4fda00..0c4466f9f 100644 --- a/Service/DCEntityMapper/MapperFactory.cs +++ b/Service/DCEntityMapper/MapperFactory.cs @@ -258,6 +258,8 @@ namespace BeWo.Service.DCEntityMapper private static NotizenEintragDC_NotizenEintrag _NotizenEintragDC_NotizenEintrag; + private static ReportTemplateDC_ReportTemplate _ReportTemplateDC_ReportTemplate; + public static MedRecordDC_MedRecord MedRecordDC_MedRecord => _MedRecordDC_MedRecord ?? (_MedRecordDC_MedRecord = new MedRecordDC_MedRecord()); @@ -648,5 +650,8 @@ namespace BeWo.Service.DCEntityMapper public static HomeViewPanelDC_HomeViewPanel HomeViewPanelDC_HomeViewPanel => _HomeViewPanelDC_HomeViewPanel ?? (_HomeViewPanelDC_HomeViewPanel = new HomeViewPanelDC_HomeViewPanel()); + + public static ReportTemplateDC_ReportTemplate ReportTemplateDC_ReportTemplate => + _ReportTemplateDC_ReportTemplate ?? (_ReportTemplateDC_ReportTemplate = new ReportTemplateDC_ReportTemplate()); } } \ No newline at end of file diff --git a/Service/ServiceContracts/IOperationsService.cs b/Service/ServiceContracts/IOperationsService.cs index 226288d2e..72b237c1a 100644 --- a/Service/ServiceContracts/IOperationsService.cs +++ b/Service/ServiceContracts/IOperationsService.cs @@ -842,6 +842,6 @@ namespace BeWo.Service.ServiceContracts [FaultContract(typeof(BeWoFault))] [OperationContract] - IList GetReportTemplates(ReportTemplateType reportTemplateType); + IList GetReportTemplates(string url); } } \ No newline at end of file diff --git a/Service/ServiceImplementations/OperationsServiceImp.cs b/Service/ServiceImplementations/OperationsServiceImp.cs index f75c59093..283e8c82c 100644 --- a/Service/ServiceImplementations/OperationsServiceImp.cs +++ b/Service/ServiceImplementations/OperationsServiceImp.cs @@ -5771,12 +5771,21 @@ namespace BeWo.Service.ServiceImplementations } } - public IList GetReportTemplates(ReportTemplateType reportTemplateType) + public IList GetReportTemplates(string url) { try { - return DAOFactory.GenericDAO.GetAllActive() - .Where(x => x.ReportTemplateType == reportTemplateType).ToList(); + if (url.IsNullOrEmpty()) + return null; + + var index = url.IndexOf("type=") + 5; + var typeString = url.Substring(index); + + if (!Enum.TryParse(typeString, out ReportTypes reportType)) + return null; + + return MapperFactory.ReportTemplateDC_ReportTemplate.MapToNewDCs(DAOFactory.GenericDAO + .GetAllActive().Where(x => x.ReportTemplateType == reportType)); } catch (Exception e) { diff --git a/Shared/BeWoEntityEnums.cs b/Shared/BeWoEntityEnums.cs index 3e1d5b28c..84f41b974 100644 --- a/Shared/BeWoEntityEnums.cs +++ b/Shared/BeWoEntityEnums.cs @@ -1030,10 +1030,4 @@ namespace BS.Shared CustomReportPanel, CustomXamlPanel } - - public enum ReportTemplateType - { - Test1, - Test2 - } } \ No newline at end of file diff --git a/Shared/DataContracts/ReportTemplateDC.cs b/Shared/DataContracts/ReportTemplateDC.cs index b603afc25..924dc173c 100644 --- a/Shared/DataContracts/ReportTemplateDC.cs +++ b/Shared/DataContracts/ReportTemplateDC.cs @@ -36,15 +36,15 @@ namespace BS.Shared.DataContracts public string DisplayName { get; set; } [DataMember] - public ReportTemplateType ReportTemplateType { get; set; } + public ReportTypes ReportTemplateType { get; set; } [DataMember] public string ReferenceClass { get; set; } - //public override string ToString() - //{ - // return DisplayName; - //} + public override string ToString() + { + return DisplayName; + } //public override bool Equals(object obj) //{