Exemplo n.º 1
0
        public async Task <Response> UpdateAsync(Device smg)
        {
            Response resp = new Response();
            Log      log  = LogFactory.GetLogger("device update");

            try
            {
                resp = await manager.UpdateAsync(smg);

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

                Device dev = await FindAsync(d => d.DeviceCode == smg.DeviceCode && d.Warehouse == smg.Warehouse);

                dev.TaskID     = smg.TaskID;
                dev.SoonTaskID = smg.SoonTaskID;
                await manager.UpdateAsync(smg);
            }
            return(resp);
        }
Exemplo n.º 2
0
        private ParkingSingleton(IHubConnectionContext <dynamic> clients)
        {
            Clients = clients;

            log = LogFactory.GetLogger("ParkingSingleton");

            #region 给主页面显示用的
            MainCallback <Location> .Instance().WatchEvent += FileWatch_LctnWatchEvent;

            MainCallback <Device> .Instance().WatchEvent += FileWatch_DeviceWatchEvent;

            MainCallback <ImplementTask> .Instance().WatchEvent += FileWatch_IMPTaskWatchEvent;

            MainCallback <WorkTask> .Instance().WatchEvent += FileWatch_WatchEvent;

            #endregion

            #region 个推
            SingleCallback.Instance().ICCardWatchEvent  += ParkingSingleton_ICCardWatchEvent;
            SingleCallback.Instance().FaultsWatchEvent  += ParkingSingleton_FaultsWatchEvent;
            SingleCallback.Instance().PlateWatchEvent   += ParkingSingleton_PlateWatchEvent;
            SingleCallback.Instance().FixLocsWatchEvent += ParkingSingleton_FixLocsWatchEvent;
            #endregion

            #region 给云服务数据推送的
            CloudCallback.Instance().ParkingRcdWatchEvent += ParkingSingleton_ParkingRcdWatchEvent;
            CloudCallback.Instance().MasterTaskWatchEvent += ParkingSingleton_MasterTaskWatchEvent;
            CloudCallback.Instance().ImpTaskWatchEvent    += ParkingSingleton_ImpTaskWatchEvent;
            CloudCallback.Instance().SendSMSWatchEvent    += ParkingSingleton_SendSMSWatchEvent;
            #endregion
        }
Exemplo n.º 3
0
        public async Task <Response> UpdateLocationAsync(Location loc)
        {
            Response resp = await manager.UpdateAsync(loc);

            if (resp.Code == 1)
            {
                MainCallback <Location> .Instance().OnChange(2, loc);
            }
            return(resp);
        }
Exemplo n.º 4
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="loc"></param>
        /// <returns></returns>
        public Response UpdateLocation(Location loc)
        {
            Response resp = manager.Update(loc);

            if (resp.Code == 1)
            {
                MainCallback <Location> .Instance().OnChange(2, loc);
            }
            return(resp);
        }
Exemplo n.º 5
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);
        }
Exemplo n.º 6
0
 /// <summary>
 /// Verifies via the <paramref name="callback"/> given <paramref name="args"/>.
 /// Returns the Error Level received after the <see cref="MainCallback"/>.
 /// </summary>
 /// <param name="callback">The Main Callback.
 /// Defaults to <see cref="DefaultMainCallback"/>.</param>
 /// <param name="args"></param>
 /// <returns></returns>
 protected virtual int Verify(MainCallback callback, params string[] args)
 {
     Out = new StringWriter((OutBuilder = new StringBuilder()).AssertNotNull());
     return((callback ?? DefaultMainCallback).Invoke(args));
 }