public void AddOrUpdateNTMinerWalletAsync(NTMinerWalletData entity, Action <ResponseBase, Exception> callback) { DataRequest <NTMinerWalletData> request = new DataRequest <NTMinerWalletData>() { Data = entity }; RpcRoot.JsonRpc.SignPostAsync( RpcRoot.OfficialServerHost, RpcRoot.OfficialServerPort, _controllerName, nameof(INTMinerWalletController.AddOrUpdateNTMinerWallet), data: request, callback); }
public void AddOrUpdate(NTMinerWalletData data) { InitOnece(); lock (_locker) { using (LiteDatabase db = HostRoot.CreateLocalDb()) { var col = db.GetCollection <NTMinerWalletData>(); if (_dicById.ContainsKey(data.Id)) { _dicById[data.Id].Update(data); col.Update(_dicById[data.Id]); } else { _dicById.Add(data.Id, data); col.Insert(data); } } } }
public void AddOrUpdate(NTMinerWalletData data) { InitOnece(); lock (_locker) { using (LiteDatabase db = WebApiRoot.CreateLocalDb()) { var col = db.GetCollection <NTMinerWalletData>(); if (_dicById.TryGetValue(data.Id, out NTMinerWalletData entity)) { entity.Update(data); col.Update(entity); } else { _dicById.Add(data.Id, data); col.Insert(data); } } } }
public NTMinerWalletSet() { VirtualRoot.AddCmdPath <AddNTMinerWalletCommand>(action: (message) => { if (message == null || message.Input == null || message.Input.GetId() == Guid.Empty) { throw new ArgumentNullException(); } if (string.IsNullOrEmpty(message.Input.Wallet)) { throw new ValidationException("NTMinerWallet Wallet can't be null or empty"); } if (_dicById.ContainsKey(message.Input.GetId())) { return; } NTMinerWalletData entity = new NTMinerWalletData().Update(message.Input); RpcRoot.OfficialServer.NTMinerWalletService.AddOrUpdateNTMinerWalletAsync(entity, (response, e) => { if (response.IsSuccess()) { _dicById.Add(entity.Id, entity); VirtualRoot.RaiseEvent(new NTMinerWalletAddedEvent(message.MessageId, entity)); } else { VirtualRoot.Out.ShowError(response.ReadMessage(e), autoHideSeconds: 4); } }); }, location: this.GetType()); VirtualRoot.AddCmdPath <UpdateNTMinerWalletCommand>(action: (message) => { if (message == null || message.Input == null || message.Input.GetId() == Guid.Empty) { throw new ArgumentNullException(); } if (string.IsNullOrEmpty(message.Input.Wallet)) { throw new ValidationException("minerGroup Wallet can't be null or empty"); } if (!_dicById.ContainsKey(message.Input.GetId())) { return; } NTMinerWalletData entity = _dicById[message.Input.GetId()]; NTMinerWalletData oldValue = new NTMinerWalletData().Update(entity); entity.Update(message.Input); RpcRoot.OfficialServer.NTMinerWalletService.AddOrUpdateNTMinerWalletAsync(entity, (response, e) => { if (!response.IsSuccess()) { entity.Update(oldValue); VirtualRoot.RaiseEvent(new NTMinerWalletUpdatedEvent(message.MessageId, entity)); VirtualRoot.Out.ShowError(response.ReadMessage(e), autoHideSeconds: 4); } }); VirtualRoot.RaiseEvent(new NTMinerWalletUpdatedEvent(message.MessageId, entity)); }, location: this.GetType()); VirtualRoot.AddCmdPath <RemoveNTMinerWalletCommand>(action: (message) => { if (message == null || message.EntityId == Guid.Empty) { throw new ArgumentNullException(); } if (!_dicById.ContainsKey(message.EntityId)) { return; } NTMinerWalletData entity = _dicById[message.EntityId]; RpcRoot.OfficialServer.NTMinerWalletService.RemoveNTMinerWalletAsync(entity.Id, (response, e) => { if (response.IsSuccess()) { _dicById.Remove(entity.Id); VirtualRoot.RaiseEvent(new NTMinerWalletRemovedEvent(message.MessageId, entity)); } else { VirtualRoot.Out.ShowError(response.ReadMessage(e), autoHideSeconds: 4); } }); }, location: this.GetType()); }
public NTMinerWalletSet(INTMinerRoot root) { _root = root; VirtualRoot.BuildCmdPath <AddNTMinerWalletCommand>(action: (message) => { if (message == null || message.Input == null || message.Input.GetId() == Guid.Empty) { throw new ArgumentNullException(); } if (string.IsNullOrEmpty(message.Input.Wallet)) { throw new ValidationException("NTMinerWallet Wallet can't be null or empty"); } if (_dicById.ContainsKey(message.Input.GetId())) { return; } NTMinerWalletData entity = new NTMinerWalletData().Update(message.Input); OfficialServer.NTMinerWalletService.AddOrUpdateNTMinerWalletAsync(entity, (response, e) => { if (response.IsSuccess()) { _dicById.Add(entity.Id, entity); VirtualRoot.RaiseEvent(new NTMinerWalletAddedEvent(entity)); } else { Write.UserFail(response.ReadMessage(e)); } }); }); VirtualRoot.BuildCmdPath <UpdateNTMinerWalletCommand>(action: (message) => { if (message == null || message.Input == null || message.Input.GetId() == Guid.Empty) { throw new ArgumentNullException(); } if (string.IsNullOrEmpty(message.Input.Wallet)) { throw new ValidationException("minerGroup Wallet can't be null or empty"); } if (!_dicById.ContainsKey(message.Input.GetId())) { return; } NTMinerWalletData entity = _dicById[message.Input.GetId()]; NTMinerWalletData oldValue = new NTMinerWalletData().Update(entity); entity.Update(message.Input); OfficialServer.NTMinerWalletService.AddOrUpdateNTMinerWalletAsync(entity, (response, e) => { if (!response.IsSuccess()) { entity.Update(oldValue); VirtualRoot.RaiseEvent(new NTMinerWalletUpdatedEvent(entity)); Write.UserFail(response.ReadMessage(e)); } }); VirtualRoot.RaiseEvent(new NTMinerWalletUpdatedEvent(entity)); }); VirtualRoot.BuildCmdPath <RemoveNTMinerWalletCommand>(action: (message) => { if (message == null || message.EntityId == Guid.Empty) { throw new ArgumentNullException(); } if (!_dicById.ContainsKey(message.EntityId)) { return; } NTMinerWalletData entity = _dicById[message.EntityId]; OfficialServer.NTMinerWalletService.RemoveNTMinerWalletAsync(entity.Id, (response, e) => { if (response.IsSuccess()) { _dicById.Remove(entity.Id); VirtualRoot.RaiseEvent(new NTMinerWalletRemovedEvent(entity)); } else { Write.UserFail(response.ReadMessage(e)); } }); }); }