diff --git a/ENI-2/ENI2/ENI2/App.config b/ENI-2/ENI2/ENI2/App.config index 5808f9f0..cd87bc18 100644 --- a/ENI-2/ENI2/ENI2/App.config +++ b/ENI-2/ENI2/ENI2/App.config @@ -1,6 +1,6 @@  diff --git a/Stundensheet.xlsx b/Stundensheet.xlsx index de2fc7df..420026f1 100644 Binary files a/Stundensheet.xlsx and b/Stundensheet.xlsx differ diff --git a/nsw/Source/bsmd.database/DBManager.cs b/nsw/Source/bsmd.database/DBManager.cs index 1ea53535..aa8c5c2d 100644 --- a/nsw/Source/bsmd.database/DBManager.cs +++ b/nsw/Source/bsmd.database/DBManager.cs @@ -590,78 +590,94 @@ namespace bsmd.database { if (!entity.IsNew) { - SqlCommand cmd = new SqlCommand(); - entity.PrepareDelete(cmd); - int queryResult = this.PerformNonQuery(cmd); - this.LogNonQueryResult(cmd.CommandText, queryResult); + using (SqlCommand cmd = new SqlCommand()) + { + entity.PrepareDelete(cmd); + int queryResult = this.PerformNonQuery(cmd); + this.LogNonQueryResult(cmd.CommandText, queryResult); + } } if (this._closeConnectionAfterUse) this.Disconnect(); } public void DeleteMessageErrors(Message message) { - SqlCommand cmd = new SqlCommand(); - cmd.CommandText = string.Format("UPDATE Error SET Deleted = 1 WHERE MessageHeaderId='{0}'", message.Id); - int queryResult = this.PerformNonQuery(cmd); - this.LogNonQueryResult(cmd.CommandText, queryResult); + using (SqlCommand cmd = new SqlCommand()) + { + cmd.CommandText = string.Format("UPDATE Error SET Deleted = 1 WHERE MessageHeaderId='{0}'", message.Id); + int queryResult = this.PerformNonQuery(cmd); + this.LogNonQueryResult(cmd.CommandText, queryResult); + } } public void DeleteMessageViolations(Message message) { - SqlCommand cmd = new SqlCommand(); - cmd.CommandText = string.Format("UPDATE Violation SET Deleted = 1 WHERE MessageHeaderId='{0}'", message.Id); - int queryResult = this.PerformNonQuery(cmd); - this.LogNonQueryResult(cmd.CommandText, queryResult); + using (SqlCommand cmd = new SqlCommand()) + { + cmd.CommandText = string.Format("UPDATE Violation SET Deleted = 1 WHERE MessageHeaderId='{0}'", message.Id); + int queryResult = this.PerformNonQuery(cmd); + this.LogNonQueryResult(cmd.CommandText, queryResult); + } } public void DeleteSystemErrors(Message message) { - SqlCommand cmd = new SqlCommand(); - cmd.CommandText = string.Format("UPDATE SystemError SET Deleted = 1 WHERE MessageHeaderId='{0}'", message.Id); - int queryResult = this.PerformNonQuery(cmd); - this.LogNonQueryResult(cmd.CommandText, queryResult); + using (SqlCommand cmd = new SqlCommand()) + { + cmd.CommandText = string.Format("UPDATE SystemError SET Deleted = 1 WHERE MessageHeaderId='{0}'", message.Id); + int queryResult = this.PerformNonQuery(cmd); + this.LogNonQueryResult(cmd.CommandText, queryResult); + } } public void Save(MessageCore core) { if (core.Customer != null) { - SqlCommand cCmd = new SqlCommand(); - core.Customer.PrepareSave(cCmd); - _log.DebugFormat("Saved Customer to Core: {0}", this.PerformNonQuery(cCmd)); - core.CustomerId = core.Customer.Id; + using (SqlCommand cCmd = new SqlCommand()) + { + core.Customer.PrepareSave(cCmd); + _log.DebugFormat("Saved Customer to Core: {0}", this.PerformNonQuery(cCmd)); + core.CustomerId = core.Customer.Id; + } } - SqlCommand cmd = new SqlCommand(); - core.PrepareSave(cmd); - int queryResult = this.PerformNonQuery(cmd); - this.LogNonQueryResult(cmd.CommandText, queryResult); + using (SqlCommand cmd = new SqlCommand()) + { + core.PrepareSave(cmd); + int queryResult = this.PerformNonQuery(cmd); + this.LogNonQueryResult(cmd.CommandText, queryResult); + } if (this._closeConnectionAfterUse) this.Disconnect(); } public bool? GetMessageCoreQueryStatusFlag(Guid messageCoreId) { - SqlCommand cmd = new SqlCommand(); - cmd.CommandText = string.Format("SELECT QueryNSWStatus FROM MessageCore WHERE Id = '{0}'", messageCoreId); - bool? result = this.PerformReadFlagQuery(cmd); + using (SqlCommand cmd = new SqlCommand()) + { + cmd.CommandText = string.Format("SELECT QueryNSWStatus FROM MessageCore WHERE Id = '{0}'", messageCoreId); + bool? result = this.PerformReadFlagQuery(cmd); - if (this._closeConnectionAfterUse) this.Disconnect(); + if (this._closeConnectionAfterUse) this.Disconnect(); - return result; + return result; + } } public List GetMessageHistories(Guid messageId) { try { - SqlCommand cmd = new SqlCommand(); - cmd.CommandText = MessageHistory.GetLoadCommand(); - cmd.Parameters.AddWithValue("@ENTITYID", messageId); - IDataReader reader = this.PerformCommand(cmd); - List result = MessageHistory.LoadList(reader); - reader.Close(); - return result; + using (SqlCommand cmd = new SqlCommand()) + { + cmd.CommandText = MessageHistory.GetLoadCommand(); + cmd.Parameters.AddWithValue("@ENTITYID", messageId); + IDataReader reader = this.PerformCommand(cmd); + List result = MessageHistory.LoadList(reader); + reader.Close(); + return result; + } } catch(Exception ex) { @@ -709,36 +725,31 @@ namespace bsmd.database this.LoadViolationList(message); this.LoadSystemErrorList(message); - SqlCommand cmd = new SqlCommand(); - - DatabaseEntity msgClass = DBManager.CreateMessage(message.MessageNotificationClass); - - if (msgClass != null) + using (SqlCommand cmd = new SqlCommand()) { - msgClass.PrepareLoadCommand(cmd, Message.LoadFilter.MESSAGEHEADER, message.Id); - SqlDataReader reader = this.PerformCommand(cmd); - if (reader != null) + DatabaseEntity msgClass = DBManager.CreateMessage(message.MessageNotificationClass); + + if (msgClass != null) { - List statList = msgClass.LoadList(reader); - foreach (DatabaseEntity derivedMessage in statList) + msgClass.PrepareLoadCommand(cmd, Message.LoadFilter.MESSAGEHEADER, message.Id); + SqlDataReader reader = this.PerformCommand(cmd); + if (reader != null) { - if(message.MessageNotificationClass == Message.NotificationClass.HAZD) + List statList = msgClass.LoadList(reader); + foreach (DatabaseEntity derivedMessage in statList) { - if(derivedMessage is HAZ hAZ) - (hAZ).IsDeparture = true; + if (message.MessageNotificationClass == Message.NotificationClass.HAZD) + { + if (derivedMessage is HAZ hAZ) + (hAZ).IsDeparture = true; + } + message.Elements.Add(derivedMessage); + derivedMessage.MessageHeader = message; + this.LoadDependingLists(derivedMessage); } - message.Elements.Add(derivedMessage); - derivedMessage.MessageHeader = message; - this.LoadDependingLists(derivedMessage); } - } - } - /* Meldung ist überflüssig - else - { - _log.DebugFormat("cannot create a message class for notification type {0}", message.MessageNotificationClass); - } - */ + } + } } } @@ -784,10 +795,12 @@ namespace bsmd.database // 3. MessageHistory Element speichern // TODO: das könnte auch in einem Background Thread passieren, da der Wert erst irgendwann gelesen wird und aktuell nicht relevant ist - SqlCommand cmd = new SqlCommand(); - mh.PrepareSave(cmd); - int queryResult = this.PerformNonQuery(cmd); - this.LogNonQueryResult(cmd.CommandText, queryResult); + using (SqlCommand cmd = new SqlCommand()) + { + mh.PrepareSave(cmd); + int queryResult = this.PerformNonQuery(cmd); + this.LogNonQueryResult(cmd.CommandText, queryResult); + } } } @@ -1130,14 +1143,18 @@ namespace bsmd.database #region WasteDisposalServiceProvider + /* if (databaseEntity.GetType().IsAssignableFrom(typeof(WasteDisposalServiceProvider))) { WasteDisposalServiceProvider wdsp = databaseEntity as WasteDisposalServiceProvider; } + */ #endregion + cmd.Dispose(); + } #endregion @@ -1179,34 +1196,38 @@ namespace bsmd.database internal Dictionary LoadErrorTexts() { - SqlCommand cmd = new SqlCommand(); - cmd.CommandText = "SELECT ErrorCode, ErrorText FROM ErrorText"; - SqlDataReader reader = this.PerformCommand(cmd); - Dictionary result = new Dictionary(); - while (reader.Read()) + using (SqlCommand cmd = new SqlCommand()) { - int errorCode = reader.GetInt32(0); - string errorText = reader.GetString(1); - result[errorCode] = errorText; + cmd.CommandText = "SELECT ErrorCode, ErrorText FROM ErrorText"; + SqlDataReader reader = this.PerformCommand(cmd); + Dictionary result = new Dictionary(); + while (reader.Read()) + { + int errorCode = reader.GetInt32(0); + string errorText = reader.GetString(1); + result[errorCode] = errorText; + } + reader.Close(); + return result; } - reader.Close(); - return result; } internal Dictionary LoadViolationTexts() { - SqlCommand cmd = new SqlCommand(); - cmd.CommandText = "SELECT ViolationCode, ViolationText FROM ViolationText"; - SqlDataReader reader = this.PerformCommand(cmd); - Dictionary result = new Dictionary(); - while (reader.Read()) + using (SqlCommand cmd = new SqlCommand()) { - int violationCode = reader.GetInt32(0); - string violationText = reader.GetString(1); - result[violationCode] = violationText; + cmd.CommandText = "SELECT ViolationCode, ViolationText FROM ViolationText"; + SqlDataReader reader = this.PerformCommand(cmd); + Dictionary result = new Dictionary(); + while (reader.Read()) + { + int violationCode = reader.GetInt32(0); + string violationText = reader.GetString(1); + result[violationCode] = violationText; + } + reader.Close(); + return result; } - reader.Close(); - return result; } #endregion @@ -1230,46 +1251,50 @@ namespace bsmd.database internal void LoadSTATShipName(MessageCore core) { if (core == null) return; - SqlCommand cmd = new SqlCommand(); - cmd.CommandText = "SELECT STAT.ShipName, STAT.GrossTonnage FROM STAT JOIN MessageHeader ON STAT.MessageHeaderId = MessageHeader.Id WHERE MessageHeader.MessageCoreId = @ID"; - cmd.Parameters.AddWithValue("@ID", core.Id); - SqlDataReader reader = this.PerformCommand(cmd); - if(reader.Read()) + using (SqlCommand cmd = new SqlCommand()) { - if (reader.IsDBNull(0)) - core.Shipname = ""; - else - core.Shipname = reader.GetString(0); - if(!reader.IsDBNull(1)) + cmd.CommandText = "SELECT STAT.ShipName, STAT.GrossTonnage FROM STAT JOIN MessageHeader ON STAT.MessageHeaderId = MessageHeader.Id WHERE MessageHeader.MessageCoreId = @ID"; + cmd.Parameters.AddWithValue("@ID", core.Id); + SqlDataReader reader = this.PerformCommand(cmd); + if (reader.Read()) { - int grossTonnage = reader.GetInt32(1); - core.IsSmallShip = grossTonnage < 500; + if (reader.IsDBNull(0)) + core.Shipname = ""; + else + core.Shipname = reader.GetString(0); + if (!reader.IsDBNull(1)) + { + int grossTonnage = reader.GetInt32(1); + core.IsSmallShip = grossTonnage < 500; + } } + reader.Close(); } - reader.Close(); } internal void LoadETA_ETD(MessageCore core) { if (core == null) return; - SqlCommand cmd = new SqlCommand(); - cmd.CommandText = "SELECT NOA_NOD.ETAToPortOfCall, NOA_NOD.ETAToKielCanal, NOA_NOD.ETDFromPortOfCall, NOA_NOD.ETDFromKielCanal FROM NOA_NOD JOIN MessageHeader ON NOA_NOD.MessageHeaderId = MessageHeader.Id WHERE MessageHeader.MessageCoreId = @ID"; - cmd.Parameters.AddWithValue("@ID", core.Id); - SqlDataReader reader = this.PerformCommand(cmd); - if (reader.Read()) + using (SqlCommand cmd = new SqlCommand()) { - if (core.IsTransit) + cmd.CommandText = "SELECT NOA_NOD.ETAToPortOfCall, NOA_NOD.ETAToKielCanal, NOA_NOD.ETDFromPortOfCall, NOA_NOD.ETDFromKielCanal FROM NOA_NOD JOIN MessageHeader ON NOA_NOD.MessageHeaderId = MessageHeader.Id WHERE MessageHeader.MessageCoreId = @ID"; + cmd.Parameters.AddWithValue("@ID", core.Id); + SqlDataReader reader = this.PerformCommand(cmd); + if (reader.Read()) { - if (!reader.IsDBNull(1)) core.ETA_NOA_NOD = reader.GetDateTime(1); - if (!reader.IsDBNull(3)) core.ETD_NOA_NOD = reader.GetDateTime(3); - } - else - { - if (!reader.IsDBNull(0)) core.ETA_NOA_NOD = reader.GetDateTime(0); - if (!reader.IsDBNull(2)) core.ETD_NOA_NOD = reader.GetDateTime(2); + if (core.IsTransit) + { + if (!reader.IsDBNull(1)) core.ETA_NOA_NOD = reader.GetDateTime(1); + if (!reader.IsDBNull(3)) core.ETD_NOA_NOD = reader.GetDateTime(3); + } + else + { + if (!reader.IsDBNull(0)) core.ETA_NOA_NOD = reader.GetDateTime(0); + if (!reader.IsDBNull(2)) core.ETD_NOA_NOD = reader.GetDateTime(2); + } } + reader.Close(); } - reader.Close(); if (!core.ETA_NOA_NOD.HasValue && !core.IsTransit && core.ETA.HasValue) { @@ -1288,29 +1313,33 @@ namespace bsmd.database internal void LoadATA(MessageCore core) { if (core == null) return; - SqlCommand cmd = new SqlCommand(); - cmd.CommandText = "SELECT ATA.ATAPortOfCall FROM ATA JOIN MessageHeader ON ATA.MessageHeaderId = MessageHeader.Id WHERE MessageHeader.MessageCoreId = @ID"; - cmd.Parameters.AddWithValue("@ID", core.Id); - SqlDataReader reader = this.PerformCommand(cmd); - if (reader.Read()) + using (SqlCommand cmd = new SqlCommand()) { - if (!reader.IsDBNull(0)) core.ATA = reader.GetDateTime(0); + cmd.CommandText = "SELECT ATA.ATAPortOfCall FROM ATA JOIN MessageHeader ON ATA.MessageHeaderId = MessageHeader.Id WHERE MessageHeader.MessageCoreId = @ID"; + cmd.Parameters.AddWithValue("@ID", core.Id); + SqlDataReader reader = this.PerformCommand(cmd); + if (reader.Read()) + { + if (!reader.IsDBNull(0)) core.ATA = reader.GetDateTime(0); + } + reader.Close(); } - reader.Close(); } internal void LoadATD(MessageCore core) { if (core == null) return; - SqlCommand cmd = new SqlCommand(); - cmd.CommandText = "SELECT ATD.ATDPortOfCall FROM ATD JOIN MessageHeader ON ATD.MessageHeaderId = MessageHeader.Id WHERE MessageHeader.MessageCoreId = @ID"; - cmd.Parameters.AddWithValue("@ID", core.Id); - SqlDataReader reader = this.PerformCommand(cmd); - if (reader.Read()) + using (SqlCommand cmd = new SqlCommand()) { - if (!reader.IsDBNull(0)) core.ATD = reader.GetDateTime(0); + cmd.CommandText = "SELECT ATD.ATDPortOfCall FROM ATD JOIN MessageHeader ON ATD.MessageHeaderId = MessageHeader.Id WHERE MessageHeader.MessageCoreId = @ID"; + cmd.Parameters.AddWithValue("@ID", core.Id); + SqlDataReader reader = this.PerformCommand(cmd); + if (reader.Read()) + { + if (!reader.IsDBNull(0)) core.ATD = reader.GetDateTime(0); + } + reader.Close(); } - reader.Close(); } #endregion