コード例 #1
0
        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);
        }
コード例 #2
0
 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);
             }
         }
     }
 }
コード例 #3
0
ファイル: NTMinerWalletSet.cs プロジェクト: sky365365/NtMiner
 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);
             }
         }
     }
 }
コード例 #4
0
 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());
 }
コード例 #5
0
ファイル: NTMinerWalletSet.cs プロジェクト: kissthink/ntminer
 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));
             }
         });
     });
 }