예제 #1
0
        private void RemoveBufferedMessages(cBufferedMessage.eMessageType MessageType)
        {
            Cursor.Current = Cursors.WaitCursor;
            Application.DoEvents();

            ListView_BufferedMessages.StopSorting();
            ListView_BufferedMessages.BeginUpdate();
            for (int iIndex = ListView_BufferedMessages.Items.Count - 1; iIndex >= 0; iIndex--)
            {
                cBufferedMessage BufferedMessage = (cBufferedMessage)ListView_BufferedMessages.Items[iIndex].Tag;
                if (BufferedMessage.MessageType == MessageType)
                {
                    ListView_BufferedMessages.Items.RemoveAt(iIndex);
                }
            }
            RSMPGS.ProcessImage.BufferedMessages.RemoveAll(bbuf => bbuf.MessageType == MessageType);

            /*
             *
             * List<cBufferedMessage> BufferedMessagesToSend =
             * foreach (cBufferedMessage BufferedMessage in BufferedMessagesToSend)
             * {
             * ListView_BufferedMessages.Items.Remove(BufferedMessage.lvItem);
             * }
             * RSMPGS.ProcessImage.BufferedMessages.RemoveAll(bbuf => bbuf.MessageType == MessageType);
             */
            ListView_BufferedMessages.EndUpdate();
            ListView_BufferedMessages.ResumeSorting();

            textBox_BufferedMessages.Text = RSMPGS.ProcessImage.BufferedMessages.Count.ToString();

            Cursor.Current = Cursors.Default;
        }
예제 #2
0
        private void SendBufferedEvents(cBufferedMessage.eMessageType MessageType)
        {
            List <cBufferedMessage> BufferedMessagesToSend = RSMPGS.ProcessImage.BufferedMessages.FindAll(bbuf => bbuf.MessageType == MessageType);

            foreach (cBufferedMessage BufferedPacket in BufferedMessagesToSend)
            {
                if (RSMPGS.MainForm.checkBox_ViewOnlyFailedPackets.Checked == false)
                {
                    if (RSMPGS.MainForm.checkBox_ShowMax10BufferedMessagesInSysLog.Checked == false || BufferedMessagesToSend.Count <= 10)
                    {
                        RSMPGS.SysLog.SysLog(cSysLogAndDebug.Severity.Info, "Sent buffered " + MessageType.ToString() + " message, Type: " + BufferedPacket.sPacketType + ", MsgId: " + BufferedPacket.sMessageId);
                    }
                }
                SendJSonPacket(BufferedPacket.sPacketType, BufferedPacket.sMessageId, BufferedPacket.sSendString, true);
            }
            if (BufferedMessagesToSend.Count > 10 && RSMPGS.MainForm.checkBox_ShowMax10BufferedMessagesInSysLog.Checked == true)
            {
                RSMPGS.SysLog.SysLog(cSysLogAndDebug.Severity.Info, "Sent {0} buffered " + MessageType.ToString() + " messages", BufferedMessagesToSend.Count);
            }
        }