Esempio n. 1
0
        /// <summary>
        /// Event when order list is started
        /// </summary>
        /// <param name="StartOrderSeqEventData"></param>
        private void Q_StartOrderSeq(List <string[]> StartOrderSeqEventData)
        {
            int      count         = 0;
            string   datetime      = " ";
            string   timeNextOrder = "";
            TimeSpan StartTime     = DateTime.Now.TimeOfDay;
            TimeSpan TOffset;
            TimeSpan TimeNextOrder;
            bool     sendData = false;

            string[]        dataToBeSent  = null;
            List <string[]> orderDataList = StartOrderSeqEventData.Select(item => (string[])item.Clone()).ToList();

            while (orderDataList.Count > 0)
            {
                foreach (string[] item in orderDataList)
                {
                    count++;
                    TOffset       = TimeSpan.Parse(item[0]);
                    TimeNextOrder = TOffset + StartTime;
                    timeNextOrder = string.Concat(TimeNextOrder.ToString().TakeWhile((c) => c != '.'));
                    datetime      = string.Concat(DateTime.Now.TimeOfDay.ToString().TakeWhile((c) => c != '.'));

                    if (datetime == timeNextOrder || count == 1)
                    {
                        dataToBeSent = item;
                        sendData     = true;
                        break;
                    }
                }

                if (orderDataList.Count == 0)
                {
                    return;
                }

                if (sendData)
                {
                    int Prio  = Convert.ToInt32(dataToBeSent[1]);;
                    int Ikey  = Convert.ToInt32(dataToBeSent[2]);
                    int Fetch = Convert.ToInt32(dataToBeSent[3]);
                    int Drop  = Convert.ToInt32(dataToBeSent[4]);

                    Message_q q = new Message_q(1, Prio + 128, 1, Ikey, new List <int>()
                    {
                        Ikey, Fetch, Drop
                    });
                    VCP9412.Instance.SendMessage(q);
                    sendData = false;
                    orderDataList.Remove(dataToBeSent);
                }
                Thread.Sleep(1);
            }
        }
Esempio n. 2
0
        static void Main(string[] args)
        {
            VCP9412 test = VCP9412.Instance;

            test.Open("192.168.1.100", 30001);

            List <int> intList = new List <int>();

            intList.Add(1);
            intList.Add(2);
            Message_q msg = new Message_q(1, 128, 1, 1, intList);

            test.SendMessage(msg);

            Console.ReadKey(true);
        }
Esempio n. 3
0
        public void Message_qTest()
        {
            //Arrange
            byte[]     bytearray = new byte[] { 250, 0x01, 0, 1, 0xF, 0xA1, 1, 0x4D, 0, 4, 0, 5, 0, 6, 0, 7, 0, 8, 0, 9 };
            List <int> parlist   = new List <int>(new int[] { 1, 4001, 333, 4, 5, 6, 7, 8, 9 });
            Message_q  msg       = new Message_q(250, 0x01, parlist);
            //act
            MsgBuffer msgBuffer = msg.ToAciMsgBuffer();


            int i = 0;

            foreach (var bytes in msgBuffer.Buffer)
            {
                Assert.AreEqual(bytes, bytearray[i]);
                i++;
            }
        }
Esempio n. 4
0
        /// <summary>
        /// Single order start event
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void Q_StartOrder(List <string> orderList)
        {
            List <int> StartOrderList = new List <int>();

            //byte[] data = new byte[1024 * 1024];
            //The "real" parse function is already done, so only numbers as strings in the list
            int Prio    = int.Parse(orderList[0]);
            int Ikey    = int.Parse(orderList[1]);
            int DropStn = int.Parse(orderList[2]);
            int PickStn = int.Parse(orderList[3]);

            StartOrderList.Add(Ikey);
            StartOrderList.Add(PickStn);
            StartOrderList.Add(DropStn);

            Message_q q = new Message_q(1, Prio + 128, 1, Ikey, StartOrderList);

            VCP9412.Instance.SendMessage(q);
        }