diff --git a/ENI-2/ENI2/ENI2/App.config b/ENI-2/ENI2/ENI2/App.config index 36e38948..fdca3b66 100644 --- a/ENI-2/ENI2/ENI2/App.config +++ b/ENI-2/ENI2/ENI2/App.config @@ -26,12 +26,12 @@ 1000 - - http://heupferd/bsmd.LockingService/LockingService.svc + http://192.168.2.24/LockingService/LockingService.svc + - - Data Source=(localdb)\MSSQLLocalDB;Initial Catalog=E:\DATA\DB\NSW.MDF;Integrated Security=True;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False + Initial Catalog=nsw;Data Source=192.168.2.24\SQLEXPRESS;Uid=dfuser;pwd=dfpasswd;Persist Security Info=False;Connection Reset=false + diff --git a/ENI-2/ENI2/ENI2/Controls/ClosableTabItem.cs b/ENI-2/ENI2/ENI2/Controls/ClosableTabItem.cs index ebbf15f0..07a332ca 100644 --- a/ENI-2/ENI2/ENI2/Controls/ClosableTabItem.cs +++ b/ENI-2/ENI2/ENI2/Controls/ClosableTabItem.cs @@ -88,7 +88,16 @@ namespace ENI2.Controls if (value) this.textBlock.Foreground = Brushes.Red; //this.BlinkTextStoryboard.Begin(); // warum auch immer das nicht funktioniert else this.textBlock.Foreground = Brushes.Black; //this.BlinkTextStoryboard.Stop(); + } + } + public bool IsHighlightResponded + { + private get { return false; } + set + { + if (value) this.textBlock.Foreground = Brushes.Green; + else this.textBlock.Foreground = Brushes.Black; } } diff --git a/ENI-2/ENI2/ENI2/DetailViewControls/OverViewDetailControl.xaml.cs b/ENI-2/ENI2/ENI2/DetailViewControls/OverViewDetailControl.xaml.cs index a4b0d771..8299f901 100644 --- a/ENI-2/ENI2/ENI2/DetailViewControls/OverViewDetailControl.xaml.cs +++ b/ENI-2/ENI2/ENI2/DetailViewControls/OverViewDetailControl.xaml.cs @@ -29,7 +29,7 @@ namespace ENI2.DetailViewControls private Timer _checkStatusTimer; private DateTime _startStatusCheck; private readonly object _collectionLock = new object(); - private MessageSendStatusDialog mssd = null; + // private MessageSendStatusDialog mssd = null; public OverViewDetailControl() { @@ -437,7 +437,10 @@ namespace ENI2.DetailViewControls DBManager.GetSingleCon(Properties.Settings.Default.ConnectionString).Save(this.Core); // löst auch den Watchdog aus this.OnRequestSendValidation(); this.dataGridMessages.Items.Refresh(); + + + /* if (this.mssd == null) { this.mssd = new MessageSendStatusDialog(this.Core); @@ -456,7 +459,7 @@ namespace ENI2.DetailViewControls } this.mssd.Activate(); // bring to foreground this.mssd.AddMessages(watchList); - + */ } } diff --git a/ENI-2/ENI2/ENI2/ENI2.csproj b/ENI-2/ENI2/ENI2/ENI2.csproj index 8e238984..c8eabc69 100644 --- a/ENI-2/ENI2/ENI2/ENI2.csproj +++ b/ENI-2/ENI2/ENI2/ENI2.csproj @@ -35,7 +35,7 @@ true publish.html 0 - 6.0.13.%2a + 6.0.14.%2a false true true diff --git a/ENI-2/ENI2/ENI2/EditControls/MessageSendStatusDialog.xaml.cs b/ENI-2/ENI2/ENI2/EditControls/MessageSendStatusDialog.xaml.cs index bc3087bf..d9450350 100644 --- a/ENI-2/ENI2/ENI2/EditControls/MessageSendStatusDialog.xaml.cs +++ b/ENI-2/ENI2/ENI2/EditControls/MessageSendStatusDialog.xaml.cs @@ -1,6 +1,8 @@ // Copyright (c) 2017- schick Informatik // Description: Overview of messages currently in transmission -// +// 8/3/21: Diese Klasse wird wieder (aus der Verwendung) entfernt, da sie +// nach RS mit CH keinen Mehrwert im Workflow bringt. +// using bsmd.database; using ENI2.Controls; diff --git a/ENI-2/ENI2/ENI2/MainWindow.xaml.cs b/ENI-2/ENI2/ENI2/MainWindow.xaml.cs index 5b61b1a7..18caf792 100644 --- a/ENI-2/ENI2/ENI2/MainWindow.xaml.cs +++ b/ENI-2/ENI2/ENI2/MainWindow.xaml.cs @@ -504,18 +504,32 @@ namespace ENI2 private void _dbWatchDog_DatabaseEntityChanged(DatabaseEntity entity) { if (entity is MessageCore changedCore) - { + { + // tab färben if (this.openTabs.ContainsKey(changedCore.Id.Value)) { - TabItem tabitem = this.openTabs[changedCore.Id.Value]; + TabItem tabitem = this.openTabs[changedCore.Id.Value]; + this.Dispatcher.BeginInvoke(new Action(() => { + DetailRootControl drc = tabitem.Content as DetailRootControl; + if (tabitem != this.mainFrame.SelectedItem) + drc.ReloadCore(); // hoffentlich ist das nicht "too much" + + bool respondHighlight = false; + if (changedCore.BSMDStatusInternal == MessageCore.BSMDStatus.RESPONDED) + respondHighlight = true; if (tabitem is ClosableTabItem closableTabItem) - (closableTabItem).IsHighlighted = true; + { + if (respondHighlight) + (closableTabItem).IsHighlightResponded = true; + else + (closableTabItem).IsHighlighted = true; + } })); changedCore.IsHighlighted = false; - } + } } } diff --git a/ENI-2/ENI2/ENI2/SucheControl.xaml.cs b/ENI-2/ENI2/ENI2/SucheControl.xaml.cs index 90760aaa..72743c4e 100644 --- a/ENI-2/ENI2/ENI2/SucheControl.xaml.cs +++ b/ENI-2/ENI2/ENI2/SucheControl.xaml.cs @@ -105,13 +105,7 @@ namespace ENI2 // filter auswerten Dictionary filterDict = new Dictionary(); - bool latestIdsSearch = false; - if (sender == this.buttonLast10Ids) - { - filterDict.Add(MessageCore.SearchFilterType.FILTER_LATESTIDS, null); - filterDict.Add(MessageCore.SearchFilterType.FILTER_CREATEDBY, ReportingParty.CurrentReportingParty.Id.Value.ToString()); - latestIdsSearch = true; - } + bool latestIdsSearch = false; if (!this.textBoxHafen.Text.Trim().IsNullOrEmpty()) filterDict.Add(MessageCore.SearchFilterType.FILTER_PORT, this.textBoxHafen.Text.Trim()); @@ -138,15 +132,26 @@ namespace ENI2 if (from.HasValue || to.HasValue) filterDict.Add(MessageCore.SearchFilterType.FILTER_ETA, string.Format("{0}:{1}", from?.ToString() ?? "", to?.ToString() ?? "")); - // menge suchen int? resultLimit = null; - int? expectedResultNum = DBManager.GetSingleCon(Properties.Settings.Default.ConnectionString).GetNumCoresWithFilters(filterDict); - if ((expectedResultNum ?? 0) > 100) - resultLimit = 100; - if (latestIdsSearch) - resultLimit = 10; + int? expectedResultNum = null; + if (sender == this.buttonLast10Ids) + { + filterDict.Clear(); + filterDict.Add(MessageCore.SearchFilterType.FILTER_LATESTIDS, null); + filterDict.Add(MessageCore.SearchFilterType.FILTER_CREATEDBY, ReportingParty.CurrentReportingParty.Id.Value.ToString()); + latestIdsSearch = true; + resultLimit = 10; + expectedResultNum = 10; + } + else + { + expectedResultNum = DBManager.GetSingleCon(Properties.Settings.Default.ConnectionString).GetNumCoresWithFilters(filterDict); + if ((expectedResultNum ?? 0) > 100) + resultLimit = 100; + } + Util.UIHelper.SetBusyState(); // suche auslösen diff --git a/ENI-2/ENI2/ENI2/Util/DatabaseEntityWatchdog.cs b/ENI-2/ENI2/ENI2/Util/DatabaseEntityWatchdog.cs index 2b846810..5cf88a6c 100644 --- a/ENI-2/ENI2/ENI2/Util/DatabaseEntityWatchdog.cs +++ b/ENI-2/ENI2/ENI2/Util/DatabaseEntityWatchdog.cs @@ -46,7 +46,8 @@ namespace ENI2.Util // (wenn die Nachrichten bearbeitet sind) bool isValidState = (entity.BSMDStatusInternal == MessageCore.BSMDStatus.FAILURE) || (entity.BSMDStatusInternal == MessageCore.BSMDStatus.SENT) || - (entity.BSMDStatusInternal == MessageCore.BSMDStatus.PREPARE); + (entity.BSMDStatusInternal == MessageCore.BSMDStatus.PREPARE) || + (entity.BSMDStatusInternal == MessageCore.BSMDStatus.RESPONDED); if (isValidState && ((entity.Changed > this._watchedEntities[watchedEntity]) || watchedEntity.IsHighlighted)) { @@ -83,7 +84,7 @@ namespace ENI2.Util if (!this._watchedEntities.ContainsKey(entity)) { this._watchedEntities.Add(entity, DateTime.Now); - if (this._watchedEntities.Count == 1) + if (this._watchedEntities.Count > 0) this.bgTimer.Start(); } } diff --git a/Stundensheet.xlsx b/Stundensheet.xlsx index 98c3c9b7..f3f43d40 100644 Binary files a/Stundensheet.xlsx and b/Stundensheet.xlsx differ diff --git a/nsw/Source/bsmd.database/MessageCore.cs b/nsw/Source/bsmd.database/MessageCore.cs index aa65b607..999943c5 100644 --- a/nsw/Source/bsmd.database/MessageCore.cs +++ b/nsw/Source/bsmd.database/MessageCore.cs @@ -482,7 +482,8 @@ namespace bsmd.database if (latestIdSearch) { sb.AppendFormat(" ORDER BY [{0}].Changed DESC", this.Tablename); - } else + } + else { sb.Append(" ORDER BY COALESCE(ETA, ETAKielCanal) DESC"); } diff --git a/nsw/Source/bsmd.database/Properties/AssemblyProductInfo.cs b/nsw/Source/bsmd.database/Properties/AssemblyProductInfo.cs index 74c4ca11..94d4dadc 100644 --- a/nsw/Source/bsmd.database/Properties/AssemblyProductInfo.cs +++ b/nsw/Source/bsmd.database/Properties/AssemblyProductInfo.cs @@ -2,6 +2,6 @@ [assembly: AssemblyCompany("schick Informatik")] [assembly: AssemblyProduct("BSMD NSW interface")] -[assembly: AssemblyInformationalVersion("6.0.13")] +[assembly: AssemblyInformationalVersion("6.0.14")] [assembly: AssemblyCopyright("Copyright © 2014-2021 schick Informatik")] [assembly: AssemblyTrademark("")] \ No newline at end of file diff --git a/nsw/Source/bsmd.database/Properties/AssemblyProjectInfo.cs b/nsw/Source/bsmd.database/Properties/AssemblyProjectInfo.cs index c1d8e748..a4f84bb4 100644 --- a/nsw/Source/bsmd.database/Properties/AssemblyProjectInfo.cs +++ b/nsw/Source/bsmd.database/Properties/AssemblyProjectInfo.cs @@ -1,4 +1,4 @@ using System.Reflection; -[assembly: AssemblyVersion("6.0.13.*")] +[assembly: AssemblyVersion("6.0.14.*")] diff --git a/nsw/Source/bsmd.hisnord/Request.cs b/nsw/Source/bsmd.hisnord/Request.cs index 29fe3916..ef4f9508 100644 --- a/nsw/Source/bsmd.hisnord/Request.cs +++ b/nsw/Source/bsmd.hisnord/Request.cs @@ -71,7 +71,9 @@ namespace bsmd.hisnord } foreach (Message removeMessage in responseList) - coreFilenameDict[core].Remove(removeMessage); + { + coreFilenameDict[core].Remove(removeMessage); + } } }