public static bool IsExisted(CacheOfSamplingData checkData) { lock (cacheDate) { CacheOfSamplingData samplingData = cacheDate.Where(obj => obj.Mac == checkData.Mac && obj.CacheType == checkData.CacheType && obj.SamplingTime == checkData.SamplingTime).ToList().FirstOrDefault(); if (samplingData != null) { return(true); } else { samplingData = null; samplingData = cacheDate.Where(obj => obj.Mac == checkData.Mac && obj.CacheType == checkData.CacheType).ToList().FirstOrDefault(); try { if (samplingData != null) { cacheDate.Remove(samplingData); cacheDate.Add(checkData); } else { cacheDate.Add(checkData); } } catch { return(false); } return(false); } } }
public static CacheOfSamplingData CreateCacheData <T>(T Data, EnumCacheType type) { CacheOfSamplingData backData = new CacheOfSamplingData(); backData.CacheType = type; switch (type) { case EnumCacheType.CharacterValue: backData.Mac = (Data as tEigenValueParam).mac.ToHexString(); backData.SamplingTime = GetSamplingTime((Data as tEigenValueParam).SampleTime); break; case EnumCacheType.TmpVoltage: backData.Mac = (Data as tTmpVoltageParam).mac.ToHexString(); backData.SamplingTime = GetSamplingTime((Data as tTmpVoltageParam).SampleTime); break; case EnumCacheType.CriticalValue: backData.Mac = (Data as tRevStopParam).mac.ToHexString(); backData.SamplingTime = GetSamplingTime((Data as tRevStopParam).SampleTime); break; case EnumCacheType.LQValue: backData.Mac = (Data as tLQParam).mac.ToHexString(); backData.SamplingTime = GetSamplingTime((Data as tLQParam).SampleTime); break; default: backData.Mac = (Data as WSWaveInfo).MAC; backData.SamplingTime = (Data as WSWaveInfo).WaveDescInfo.SamplingTime; break; } return(backData); }