示例#1
0
        /// <summary>
        /// 初始化网站全局信息
        /// </summary>
        private void GlobalInitial()
        {
            DbRepository.ConnectionName = "Lampblack_Platform";
            GeneralProcess.LoadBaseInfomations();

            var deviceModels = GeneralProcess.GetDeviceModels();

            foreach (var model in deviceModels)
            {
                var rate = new CleanessRate(model);
                PlatformCaches.Add($"CleanessRate-{model.Id}", rate, false, "deviceModels");
            }

            var configDictionary = new Dictionary <string, object>
            {
                {
                    "deviceTypeGuid",
                    ((IList <DeviceType>)
                     GeneralProcess.GetConfig <DeviceType>(obj => obj.DeviceTypeCode == "WD_Lampblack"))
                    .FirstOrDefault()?.Id
                },
                {
                    "firmwareSetGuid",
                    ((IList <FirmwareSet>)
                     GeneralProcess.GetConfig <FirmwareSet>(obj => obj.FirmwareSetName == "油烟协议第一版"))
                    .FirstOrDefault()?.Id
                }
            };

            var userDiscticts =
                (IList <SysDictionary>)GeneralProcess.GetConfig <SysDictionary>(c => c.ItemName == "userDistrict");

            PlatformCaches.Add("userDistrict", userDiscticts, false, "SystemConfig");

            LampblackConfig.InitConfig(configDictionary);
            WdControllerBase.LoginName = LampblackConfig.LoginName;
            PlatformCaches.Add("Cleaness", ProcessInvoke.Instance <HotelRestaurantProcess>().GetHotelCleanessList());
            var updateCleaness = new WdScheduler(SchedulerType.Interval)
            {
                Interval = 120000
            };

            updateCleaness.OnExecuting += () =>
            {
                PlatformCaches.Add("Cleaness", ProcessInvoke.Instance <HotelRestaurantProcess>().GetHotelCleanessList());
            };
            WdSchedulerManager.Register(updateCleaness);
            PlatformCaches.Add("HotelLocations", ProcessInvoke.Instance <HotelRestaurantProcess>().GetHotelLocations());
            var updateLocations = new WdScheduler(SchedulerType.Interval)
            {
                Interval = 120000
            };

            updateLocations.OnExecuting += () =>
            {
                PlatformCaches.Add("HotelLocations", ProcessInvoke.Instance <HotelRestaurantProcess>().GetHotelLocations());
            };
            WdSchedulerManager.Register(updateLocations);
        }
示例#2
0
 /// <summary>
 /// 获取清洁度等级
 /// </summary>
 /// <param name="current"></param>
 /// <param name="rate"></param>
 /// <returns></returns>
 public static string GetCleanessRate(double?current, CleanessRate rate)
 {
     if (current == null)
     {
         return(CleanessRateResult.NoData);
     }
     if (current < rate.Fail)
     {
         return(CleanessRateResult.Fail);
     }
     if (current < rate.Worse)
     {
         return(CleanessRateResult.Worse);
     }
     return(current < rate.Qualified ? CleanessRateResult.Qualified : CleanessRateResult.Good);
 }