예제 #1
0
        public Response Update(Device smg)
        {
            Response resp = new Response();
            Log      log  = LogFactory.GetLogger("device update");

            try
            {
                resp = manager.Update(smg);
                if (resp.Code == 1)
                {
                    //回调设备状态
                    MainCallback <Device> .Instance().OnChange(2, resp.Data);
                }
            }
            catch (Exception ex)
            {
                log.Error(ex.ToString());

                Device dev = Find(d => d.DeviceCode == smg.DeviceCode && d.Warehouse == smg.Warehouse);
                dev.TaskID     = smg.TaskID;
                dev.SoonTaskID = smg.SoonTaskID;
                manager.Update(dev);
            }
            #region 记录设备状态
            string addrs = "";
            if (smg.Type == EnmSMGType.ETV)
            {
                addrs = smg.Address;
            }

            DeviceInfoLog devlog = new DeviceInfoLog
            {
                Warehouse   = smg.Warehouse,
                DeviceCode  = smg.DeviceCode,
                RecordDtime = DateTime.Now,
                Mode        = ConvertMode(smg.Mode),
                IsAble      = smg.IsAble,
                IsAvailabe  = smg.IsAvailabe,
                RunStep     = smg.RunStep,
                InStep      = smg.InStep,
                OutStep     = smg.OutStep,
                Address     = addrs,
                TaskID      = smg.TaskID
            };
            new CWDeviceStatusLog().AddLog(devlog);
            #endregion
            return(resp);
        }
예제 #2
0
 public Response AddLog(DeviceInfoLog log)
 {
     return(manager.Add(log));
 }