Esempio n. 1
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="st"></param>
        /// <param name="parseResult"></param>
        private void ProcessXGReadRecordResult(XGDevice xgdevice, IParseResult pr)
        {
            DateTime dt     = (DateTime)pr.Results["DT"];
            string   cardSn = pr.Results["cardsn"].ToString();

            dt = SaveToDBAndUpdateLast(xgdevice, dt, cardSn);
        }
Esempio n. 2
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="xgdevice"></param>
        /// <param name="parseResult"></param>
        private void ProcessXGDeviceRecordHelp(XGDevice xgdevice, IParseResult parseResult, bool isFD)
        {
            // 1. uploadrecord
            // 2. readrecord
            //    2.1 return record
            //    2.2 return record count if record idx out of range

            /*
             * if (parseResult.IsSuccess)
             * {
             * if (StringHelper.Equal(parseResult.ReceivePartName, "recordcount"))
             * {
             * string errmsg = string.Format("record index '{0}' out of range",
             * parseResult.NameObjects.GetObject("recordcount"));
             * //CZGRApp.Default.MainForm.UpdateXGDeviceState(xgdevice, errmsg);
             * log.Warning(errmsg);
             *
             * }
             * else
             * {
             * // upload record or readrecord
             * //
             * DBXGDevice dbxgdevice = xgdevice.DBXGDevice;
             * DateTime dt = Convert.ToDateTime(parseResult.NameObjects.GetObject("DT"));
             * string cardsn = parseResult.NameObjects.GetObject("cardsn").ToString();
             * DBXGData dbxgdata = new DBXGData(dbxgdevice, DBCard.FindCard(cardsn), dt);
             * dbxgdata.Create();
             *
             * // update xgdatalistview
             * //
             * CZGRApp.Default.MainForm.UpdateXGData(xgdevice, parseResult, dbxgdata, isFD);
             * }
             * }
             */
        }
Esempio n. 3
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="xgdevice"></param>
        /// <param name="dt"></param>
        /// <param name="cardSn"></param>
        /// <returns></returns>
        private static DateTime SaveToDBAndUpdateLast(XGDevice xgdevice, DateTime dt, string cardSn)
        {
            XGData data = new XGData(dt, cardSn);

            xgdevice.DeviceDataManager.Last = data;
            DBI.Instance.InsertXGData(xgdevice, data);
            return(dt);
        }
Esempio n. 4
0
File: Class1.cs Progetto: wpmyj/c3
        /// <summary>
        ///
        /// </summary>
        /// <param name="xgData"></param>
        public void InsertXGData(XGDevice xgdevice, XGData xgData)
        {
            int    tmCardID = GetTMCardID(xgData.CardSN);
            int    deviceID = GuidHelper.ConvertToInt32(xgdevice.Guid);
            string s        = string.Format(
                "insert into tblTMData( DeviceID, TMID, TMDataDT) values ({0}, {1}, '{2}')",
                deviceID, tmCardID, xgData.DT);

            ExecuteScalar(s);
        }
Esempio n. 5
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="task"></param>
        /// <param name="parseResult"></param>
        public override void OnProcess(ITask task, IParseResult pr)
        {
            if (pr.IsSuccess)
            {
                string opera = task.Opera.Name;
                opera = opera.ToLower();
                XGDevice xgdevice = (XGDevice)task.Device;

                switch (opera)
                {
                case XGOperaNames.ReadCount:
                    ProcessXGReadRecordCountResult(xgdevice, pr);
                    break;

                case XGOperaNames.ReadRecord:
                    ProcessXGReadRecordResult(xgdevice, pr);
                    break;

                case XGOperaNames.RecordUpload:
                    ProcessXGUploadRecordResult(xgdevice, pr);
                    break;

                case XGOperaNames.ClearRecord:
                    ProcessXGClearRecordResult(pr);
                    break;

                case XGOperaNames.RemoveUpload:
                    ProcessXGRemoveUploadResult(pr);
                    break;

                case XGOperaNames.ReadXGDate:
                    ProcessXGReadDateResult(xgdevice, pr);
                    break;

                case XGOperaNames.ReadXGTime:
                    ProcessXGReadTimeResult(xgdevice, pr);
                    break;

                case XGOperaNames.WriteXGDate:
                case XGOperaNames.WriteXGTime:
                case XGOperaNames.WriteMode:
                    // do nothing
                    //
                    break;

                default:
                {
                    string errmsg = string.Format("{0} {1}",
                                                  xgdevice.DeviceType.Text,
                                                  opera);
                    throw new NotSupportedException(errmsg);
                }
                }
            }
        }
Esempio n. 6
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="parseResult"></param>
        private void ProcessXGUploadRecordResult(XGDevice xgdevice, IParseResult pr)
        {
            ProcessXGDeviceRecordHelp(xgdevice, pr, false);

            IOperaFactory operaFactory = xgdevice.Dpu.OperaFactory;
            IOpera        op           = operaFactory.Create(xgdevice.GetType().Name, XGOperaNames.RemoveUpload);
            //ITaskFactory taskFactory = xgdevice.Dpu.TaskFactory;

            Task task = new Task(xgdevice, op, new ImmediateStrategy(), 1);

            xgdevice.TaskManager.Tasks.Enqueue(task);
        }
Esempio n. 7
0
 /// <summary>
 /// 
 /// </summary>
 /// <param name="deviceSource"></param>
 /// <returns></returns>
 public override IDevice OnCreate(IDeviceSource deviceSource)
 {
     XGDeviceSource source = (XGDeviceSource)deviceSource;
     XGDevice d = new XGDevice();
     d.Address = source.Address;
     d.Name = source.DeviceName;
     d.DeviceSource = source;
     d.DeviceType = this.Dpu.DeviceType;
     d.Dpu = this.Dpu;
     d.Guid = source.Guid;
     d.StationGuid = source.StationGuid;
     d.Pickers = Dpu.OperaFactory.CreatePickers(this.Dpu.DeviceType.Type.Name);
     return d;
 }
Esempio n. 8
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="deviceSource"></param>
        /// <returns></returns>
        public override IDevice OnCreate(IDeviceSource deviceSource)
        {
            XGDeviceSource source = (XGDeviceSource)deviceSource;
            XGDevice       d      = new XGDevice();

            d.Address      = source.Address;
            d.Name         = source.DeviceName;
            d.DeviceSource = source;
            d.DeviceType   = this.Dpu.DeviceType;
            d.Dpu          = this.Dpu;
            d.Guid         = source.Guid;
            d.StationGuid  = source.StationGuid;
            d.Pickers      = Dpu.OperaFactory.CreatePickers(this.Dpu.DeviceType.Type.Name);
            return(d);
        }
Esempio n. 9
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="device"></param>
        /// <param name="bs"></param>
        /// <returns></returns>
        //public override IUploadParseResult OnProcessUpload(IDevice device, byte[] bs)
        public override void OnProcessUpload(IDevice device, IParseResult pr)
        {
            XGDevice xg     = (XGDevice)device;
            DateTime dt     = (DateTime)pr.Results["DT"];
            string   cardSN = pr.Results["cardSN"].ToString();

            //xg.DeviceDataManager.Last = new XGData(dt, cardSN);
            SaveToDBAndUpdateLast(xg, dt, cardSN);

            IOpera op = device.Dpu.OperaFactory.Create(device.GetType().Name,
                                                       XGOperaNames.RemoveUpload);

            Task task = new Task(device, op, Strategy.CreateImmediateStrategy(), 1);

            device.TaskManager.Tasks.Enqueue(task);
        }
Esempio n. 10
0
File: Class1.cs Progetto: wpmyj/c3
        protected override void OnAdd(IDevice device)
        {
            XGDevice d = (XGDevice)device;

            string s = string.Format(
                "insert into tblDevice(DeviceAddress, deviceType, stationID, DeviceName) values({0}, '{1}', {2}, '{3}')",
                d.Address,
                d.DeviceType.Type.Name,
                GuidHelper.ConvertToInt32(d.Station.Guid),
                d.Name
                );

            DBI.Instance.ExecuteScalar(s);

            object obj = GetMaxDeviceID(DBI.Instance);

            d.Guid = GuidHelper.Create(Convert.ToInt32(obj));
        }
Esempio n. 11
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="st"></param>
        /// <param name="parseResult"></param>
        private void ProcessXGReadRecordCountResult(XGDevice xgdevice, IParseResult pr)
        {
            IOperaFactory operaFactory = xgdevice.Dpu.OperaFactory;
            int           count        = Convert.ToInt32(pr.Results["recordcount"]);

            if (count > 0)
            {
                for (int i = 1; i < count + 1; i++)
                {
                    Opera op = (Opera)operaFactory.Create(xgdevice.GetType().Name, XGOperaNames.ReadRecord);
                    op.SendPart["recordidx"] = i;

                    Task task = new Task(xgdevice, op, new ImmediateStrategy(), 2);
                    xgdevice.TaskManager.Tasks.Enqueue(task);
                }

                Opera clearOP = (Opera)operaFactory.Create(xgdevice.GetType().Name, XGOperaNames.ClearRecord);

                Task clearTask = new Task(xgdevice, clearOP, new ImmediateStrategy(), 1);
                xgdevice.TaskManager.Tasks.Enqueue(clearTask);
            }
        }
Esempio n. 12
0
 /// <summary>
 /// 
 /// </summary>
 /// <param name="xgdevice"></param>
 /// <param name="dt"></param>
 /// <param name="cardSn"></param>
 /// <returns></returns>
 private static DateTime SaveToDBAndUpdateLast(XGDevice xgdevice, DateTime dt, string cardSn)
 {
     XGData data = new XGData(dt, cardSn);
     xgdevice.DeviceDataManager.Last = data;
     DBI.Instance.InsertXGData(xgdevice, data);
     return dt;
 }
Esempio n. 13
0
File: Class1.cs Progetto: hkiaipc/C3
 /// <summary>
 /// 
 /// </summary>
 /// <param name="xgData"></param>
 public void InsertXGData(XGDevice xgdevice, XGData xgData)
 {
     int tmCardID = GetTMCardID (xgData.CardSN);
     int deviceID = GuidHelper.ConvertToInt32(xgdevice.Guid);
     string s = string.Format(
         "insert into tblTMData( DeviceID, TMID, TMDataDT) values ({0}, {1}, '{2}')",
         deviceID, tmCardID, xgData.DT);
     ExecuteScalar(s);
 }
Esempio n. 14
0
        /// <summary>
        /// 
        /// </summary>
        /// <param name="st"></param>
        /// <param name="parseResult"></param>
        private void ProcessXGReadRecordCountResult(XGDevice xgdevice, IParseResult pr)
        {
            IOperaFactory operaFactory = xgdevice.Dpu.OperaFactory;
            TimeSpan timeout = TimeSpan.FromMilliseconds(xgdevice.Station.CommuniPortConfig.TimeoutMilliSecond);
            int count = Convert.ToInt32(pr.Results["recordcount"]);
            if (count > 0)
            {
                for (int i = 1; i < count + 1; i++)
                {
                    Opera op = (Opera)operaFactory.Create(xgdevice.GetType().Name, XGOperaNames.ReadRecord);
                    op.SendPart["recordidx"] = i;

                    Task task = new Task(xgdevice, op, new ImmediateStrategy(), timeout, 2);
                    xgdevice.TaskManager.Tasks.Enqueue(task);
                }

                Opera clearOP = (Opera)operaFactory.Create(xgdevice.GetType().Name, XGOperaNames.ClearRecord);

                Task clearTask = new Task(xgdevice, clearOP, new ImmediateStrategy(), timeout, 1);
                xgdevice.TaskManager.Tasks.Enqueue(clearTask);

            }
        }
Esempio n. 15
0
        /// <summary>
        /// 
        /// </summary>
        /// <param name="st"></param>
        /// <param name="parseResult"></param>
        private void ProcessXGReadRecordResult(XGDevice xgdevice, IParseResult pr)
        {
            DateTime dt = (DateTime)pr.Results["DT"];
            string cardSn = pr.Results["cardsn"].ToString();

            dt = SaveToDBAndUpdateLast(xgdevice, dt, cardSn);
        }
Esempio n. 16
0
        /// <summary>
        /// 
        /// </summary>
        /// <param name="xgdevice"></param>
        /// <param name="parseResult"></param>
        private void ProcessXGDeviceRecordHelp(XGDevice xgdevice, IParseResult parseResult, bool isFD)
        {
            // 1. uploadrecord
            // 2. readrecord
            //    2.1 return record
            //    2.2 return record count if record idx out of range
            /*
               if (parseResult.IsSuccess)
               {
               if (StringHelper.Equal(parseResult.ReceivePartName, "recordcount"))
               {
               string errmsg = string.Format("record index '{0}' out of range",
               parseResult.NameObjects.GetObject("recordcount"));
            //CZGRApp.Default.MainForm.UpdateXGDeviceState(xgdevice, errmsg);
            log.Warning(errmsg);

            }
            else
            {
            // upload record or readrecord
            //
            DBXGDevice dbxgdevice = xgdevice.DBXGDevice;
            DateTime dt = Convert.ToDateTime(parseResult.NameObjects.GetObject("DT"));
            string cardsn = parseResult.NameObjects.GetObject("cardsn").ToString();
            DBXGData dbxgdata = new DBXGData(dbxgdevice, DBCard.FindCard(cardsn), dt);
            dbxgdata.Create();

            // update xgdatalistview
            //
            CZGRApp.Default.MainForm.UpdateXGData(xgdevice, parseResult, dbxgdata, isFD);
            }
            }
            */
        }
Esempio n. 17
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="xgdevice"></param>
 /// <param name="parseResult"></param>
 private void ProcessXGReadDateResult(XGDevice xgdevice, IParseResult pr)
 {
 }
Esempio n. 18
0
        /// <summary>
        /// 
        /// </summary>
        /// <param name="parseResult"></param>
        private void ProcessXGUploadRecordResult(XGDevice xgdevice, IParseResult pr)
        {
            ProcessXGDeviceRecordHelp(xgdevice, pr, false);

            IOperaFactory operaFactory = xgdevice.Dpu.OperaFactory;
            IOpera op = operaFactory.Create(xgdevice.GetType().Name, XGOperaNames.RemoveUpload);
            //ITaskFactory taskFactory = xgdevice.Dpu.TaskFactory;

            TimeSpan tsTimeout = TimeSpan.FromMilliseconds(xgdevice.Station.CommuniPortConfig.TimeoutMilliSecond);
            Task task = new Task(xgdevice, op, new ImmediateStrategy(), tsTimeout,1);

            xgdevice.TaskManager.Tasks.Enqueue(task);
        }
Esempio n. 19
0
 /// <summary>
 /// 
 /// </summary>
 /// <param name="xgdevice"></param>
 /// <param name="pr"></param>
 private void ProcessXGReadTimeResult(XGDevice xgdevice, IParseResult pr)
 {
 }