Fixed counting of message classes

This commit is contained in:
Daniel Schick 2023-12-07 09:32:36 +01:00
parent a974cf79a7
commit 932be48c24

View File

@ -1526,11 +1526,12 @@ namespace bsmd.database
if (core == null) return;
using (SqlCommand cmd = new SqlCommand())
{
cmd.CommandText = "SELECT COUNT(*) FROM MessageHeader WHERE MessageHeader.MessageCoreId = @ID AND ((MessageHeader.NotificationClass > 1 AND MessageHeader.NotificationClass < 28) OR MessageHeader.NotificationClass > 30)";
// count all message classes except VISIT, TRANSIT and STO
cmd.CommandText = "SELECT COUNT(*) FROM MessageHeader WHERE MessageHeader.MessageCoreId = @ID AND (MessageHeader.NotificationClass > 1 AND MessageHeader.NotificationClass != 28)";
cmd.Parameters.AddWithValue("@ID", core.Id);
int total = this.PerformReadIntQuery(cmd) ?? 0;
cmd.CommandText = "SELECT COUNT(*) FROM MessageHeader WHERE MessageHeader.MessageCoreId = @ID AND MessageHeader.BSMDStatus = 5 AND ((MessageHeader.NotificationClass > 1 AND MessageHeader.NotificationClass < 28) OR MessageHeader.NotificationClass > 30)"; // compare "CONFIRMED"
cmd.CommandText = "SELECT COUNT(*) FROM MessageHeader WHERE MessageHeader.MessageCoreId = @ID AND MessageHeader.BSMDStatus = 5 AND (MessageHeader.NotificationClass > 1 AND MessageHeader.NotificationClass != 28)"; // compare "CONFIRMED"
int sent = this.PerformReadIntQuery(cmd) ?? 0;
core.NumberSentDisplay = string.Format("{0}/{1}", sent, total);