public void AddOrUpdate(NTMinerFileData data) { InitOnece(); lock (_dicById) { using (LiteDatabase db = AppRoot.CreateLocalDb()) { var col = db.GetCollection <NTMinerFileData>(); if (_dicById.TryGetValue(data.Id, out NTMinerFileData entity)) { entity.Update(data); col.Update(entity); } else { data.CreatedOn = DateTime.Now; _dicById.Add(data.Id, data); col.Insert(data); } CacheLatest(); } } }
public void AddOrUpdate(NTMinerFileData data) { InitOnece(); lock (_locker) { using (LiteDatabase db = HostRoot.CreateLocalDb()) { var col = db.GetCollection <NTMinerFileData>(); if (_dicById.ContainsKey(data.Id)) { _dicById[data.Id].Update(data); col.Update(_dicById[data.Id]); } else { data.CreatedOn = DateTime.Now; _dicById.Add(data.Id, data); col.Insert(data); } RefreshLatest(); } } }
private void RefreshLatest() { _latestMinerClientFile = _dicById.Values.Where(a => a.AppType == NTMinerAppType.MinerClient).OrderByDescending(a => a.GetVersion()).FirstOrDefault(); }