コード例 #1
0
        private List <ILedable> GetLedables(Devices.Interfaces.IDeviceable deviceable)
        {
            List <ILedable> temp = null;

            if (entranceLedCache.Keys.Any(x => x == deviceable.EntranceDto.Id))
            {
                temp = entranceLedCache[deviceable.EntranceDto.Id];
            }
            else
            {
                if (parkBoxOptions.DeciceInfos.Any(x => x.EntranceDto.Id == deviceable.EntranceDto.Id && x.DeviceType == Enum.DeviceType.Led))
                {
                    temp = Array.ConvertAll <DeviceInfoDto, ILedable>(parkBoxOptions.DeciceInfos.Where(x => x.EntranceDto.Id == deviceable.EntranceDto.Id && x.DeviceType == Enum.DeviceType.Led).ToArray(),
                                                                      x => { return(x.Controlable.Led); }).ToList();
                }
                else
                {
                    temp = null;
                }
                if (!entranceLedCache.ContainsKey(deviceable.EntranceDto.Id))
                {
                    entranceLedCache.Add(deviceable.EntranceDto.Id, temp);
                }
            }
            return(temp);
        }
コード例 #2
0
        public async Task SpeakAndShowText(Devices.Interfaces.IDeviceable deviceable, CarInModel carIn, PermissionResult permissionResult)
        {
            var temp = GetLedables(deviceable);

            await Task.Run(() => temp?.ForEach(x => {
                x.Speak(string.Empty);
                x.Show(string.Empty);
            }));
        }
コード例 #3
0
        public async Task SpeakAndShowText(Devices.Interfaces.IDeviceable deviceable, CarOutModel carOut, OutEnum outEnum)
        {
            if (deviceable == null)
            {
                return;
            }
            var temp = GetLedables(deviceable);

            await Task.Run(() => temp?.ForEach(x =>
            {
                x.Speak(string.Empty);
                x.Show(string.Empty);
            }));
        }