diff --git a/ENI-2/ENI2/ENI2/DetailRootControl.xaml.cs b/ENI-2/ENI2/ENI2/DetailRootControl.xaml.cs index dd0c6c9a..6b61f941 100644 --- a/ENI-2/ENI2/ENI2/DetailRootControl.xaml.cs +++ b/ENI-2/ENI2/ENI2/DetailRootControl.xaml.cs @@ -65,16 +65,19 @@ namespace ENI2 // wenn in einer Meldeklasse zwar Daten vorhanden sind, eingespielt durch Excel import oder // Handeingabe, diese aber NICHT gesendet wurden. // TODO: Hier wird noch ein Flag benötigt, dass die erfolgte Anzeige des Warndialogs speichert - - /* + foreach (Message aMessage in _messages) { - if ((aMessage.InternalStatus == Message.BSMDStatus.UPDATED) || + if (((aMessage.InternalStatus == Message.BSMDStatus.UPDATED) || (aMessage.InternalStatus == Message.BSMDStatus.SAVED) || - (aMessage.InternalStatus == Message.BSMDStatus.EXCEL)) + (aMessage.InternalStatus == Message.BSMDStatus.EXCEL)) && + !aMessage.UnsentMessageWarningShown) + { + aMessage.UnsentMessageWarningShown = true; return true; + } } - */ + return false; } } @@ -432,6 +435,7 @@ namespace ENI2 message.SaveElements(); message.IsDirty = false; + message.UnsentMessageWarningShown = false; if(message.MessageNotificationClass == Message.NotificationClass.ATA) { diff --git a/Stundensheet.xlsx b/Stundensheet.xlsx index b5dcfdbd..3c059acf 100644 Binary files a/Stundensheet.xlsx and b/Stundensheet.xlsx differ diff --git a/nsw/Source/SQL/Update_5.6_To_5.7.sql b/nsw/Source/SQL/Update_5.6_To_5.7.sql new file mode 100644 index 00000000..5f030ede --- /dev/null +++ b/nsw/Source/SQL/Update_5.6_To_5.7.sql @@ -0,0 +1,5 @@ +PRINT N'Altering [dbo].[MessageHeader]...'; +GO + +ALTER TABLE [dbo].[MessageHeader] ADD [Flags] INT NULL; +GO \ No newline at end of file diff --git a/nsw/Source/bsmd.ExcelReadService/Util.cs b/nsw/Source/bsmd.ExcelReadService/Util.cs index 0868d7df..b33331a4 100644 --- a/nsw/Source/bsmd.ExcelReadService/Util.cs +++ b/nsw/Source/bsmd.ExcelReadService/Util.cs @@ -137,6 +137,7 @@ namespace bsmd.ExcelReadService { message.CreatedBy = "EXCEL"; message.InternalStatus = Message.BSMDStatus.EXCEL; + message.UnsentMessageWarningShown = false; DBManager.Instance.Save(message); message.SaveElements(); } diff --git a/nsw/Source/bsmd.database/Message.cs b/nsw/Source/bsmd.database/Message.cs index 9a646e22..904ca9fa 100644 --- a/nsw/Source/bsmd.database/Message.cs +++ b/nsw/Source/bsmd.database/Message.cs @@ -187,6 +187,14 @@ namespace bsmd.database DUDR_TEST } + // Late to the party: generic flags Enum/Field + + public enum MessageFlags : int + { + UNSENT_WARNING_SHOWN = 1 + } + + #endregion #region Construction @@ -373,6 +381,17 @@ namespace bsmd.database /// public bool? SendSuccess { get; set; } + public bool UnsentMessageWarningShown + { + get { return this.IsFlagSet(MessageFlags.UNSENT_WARNING_SHOWN); } + set { this.SetFlag(value, MessageFlags.UNSENT_WARNING_SHOWN); } + } + + /// + /// Speicher-Int für generische Flags + /// + public int Flags { get; set; } + #endregion #region IDatabaseEntity implementation @@ -862,5 +881,19 @@ namespace bsmd.database #endregion + #region private methods + + private bool IsFlagSet(MessageFlags flag) + { + return (this.Flags & (int)flag) != 0; + } + + private void SetFlag(bool value, MessageFlags flag) + { + if (value) this.Flags |= (int)flag; + else this.Flags &= (int)~flag; + } + + #endregion } } diff --git a/nsw/Source/bsmd.database/Properties/AssemblyProductInfo.cs b/nsw/Source/bsmd.database/Properties/AssemblyProductInfo.cs index cfda07ce..4a684641 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("5.6.0")] +[assembly: AssemblyInformationalVersion("5.7.0")] [assembly: AssemblyCopyright("Copyright © 2014-2019 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 78df9b08..146ce6e9 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("5.6.0.*")] +[assembly: AssemblyVersion("5.7.0.*")]