Example #1
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="pr"></param>
        /// <param name="xd2300"></param>
        private static void ProcessReadRecordIndex(XD2300Device xd2300, ParseResult pr)
        {
            // process read record index
            //
            UInt16 index = Convert.ToUInt16(pr.NameObjects.GetObject("RecordIndex"));

            // create new read record task
            //
            if (xd2300.IsLastRecordIndexValid())
            {
                int readedIndex = xd2300.LastRecordIndex;
                for (int i = readedIndex + 1; i <= index; i++)
                {
                    Opera readRecordOpera = xd2300.DeviceDefine.CreateOpera(XD2300OperaNames.ReadRecord);
                    readRecordOpera.SendPart["RecordIndex"] = i;
                    Task t = new Task(xd2300, readRecordOpera, new ImmediateStrategy());
                    YeHeCommuniServerApp.Default.CommuniSoft.TaskManager.Tasks.Add(t);
                }
            }
            else
            {
                // down
                //
                AddDownTask(xd2300);
            }

            // set new record index
            //
            xd2300.LastRecordIndex = index;
        }
Example #2
0
        /// <summary>
        /// 
        /// </summary>
        /// <param name="pr"></param>
        /// <param name="xd2300"></param>
        private static void ProcessReadRecordIndex(XD2300Device xd2300, ParseResult pr)
        {
            // process read record index
            //
            UInt16 index = Convert.ToUInt16(pr.NameObjects.GetObject("RecordIndex"));

            // create new read record task
            //
            if (xd2300.IsLastRecordIndexValid())
            {
                int readedIndex = xd2300.LastRecordIndex;
                for (int i = readedIndex + 1; i <= index; i++)
                {
                    Opera readRecordOpera = xd2300.DeviceDefine.CreateOpera(XD2300OperaNames.ReadRecord);
                    readRecordOpera.SendPart["RecordIndex"] = i;
                    Task t = new Task(xd2300, readRecordOpera, new ImmediateStrategy());
                    YeHeCommuniServerApp.Default.CommuniSoft.TaskManager.Tasks.Add(t);

                }
            }
            else
            {
                // down
                //
                AddDownTask(xd2300);
            }

            // set new record index
            //
            xd2300.LastRecordIndex = index;
        }