Esempio n. 1
0
        public void QueryClientsAsync(
            int pageIndex,
            int pageSize,
            Guid?groupId,
            Guid?workId,
            string minerIp,
            string minerName,
            MineStatus mineState,
            string coin,
            string pool,
            string wallet,
            string version,
            string kernel,
            Action <QueryClientsResponse, Exception> callback)
        {
            var request = new QueryClientsRequest {
                PageIndex = pageIndex,
                PageSize  = pageSize,
                GroupId   = groupId,
                WorkId    = workId,
                MinerIp   = minerIp,
                MinerName = minerName,
                MineState = mineState,
                Coin      = coin,
                Pool      = pool,
                Wallet    = wallet,
                Version   = version,
                Kernel    = kernel
            };

            RpcRoot.PostAsync(NTMinerRegistry.GetControlCenterHost(), NTKeyword.ControlCenterPort, _controllerName, nameof(IClientController.QueryClients), request, request, callback);
        }
Esempio n. 2
0
 public LoginWindowViewModel()
 {
     this._loginName  = "admin";
     this._serverHost = NTMinerRegistry.GetControlCenterHost();
     this.IsInnerIp   = Ip.Util.IsInnerIp(_serverHost);
     this.ActiveAdmin = new DelegateCommand(() => {
         if (string.IsNullOrEmpty(this.Password))
         {
             this.ShowMessage("密码不能为空");
             return;
         }
         else if (this.Password != this.PasswordAgain)
         {
             this.ShowMessage("两次输入的密码不一致");
             return;
         }
         string passwordSha1 = HashUtil.Sha1(Password);
         Server.ControlCenterService.ActiveControlCenterAdminAsync(passwordSha1, (response, e) => {
             if (response.IsSuccess())
             {
                 IsPasswordAgainVisible = Visibility.Collapsed;
                 this.ShowMessage("激活成功", isSuccess: true);
             }
             else
             {
                 this.ShowMessage(response.ReadMessage(e));
             }
         });
     });
 }
Esempio n. 3
0
        public void AddOrUpdatePoolAsync(PoolData entity, Action <ResponseBase, Exception> callback)
        {
            DataRequest <PoolData> request = new DataRequest <PoolData> {
                Data = entity
            };

            RpcRoot.PostAsync(NTMinerRegistry.GetControlCenterHost(), NTKeyword.ControlCenterPort, _controllerName, nameof(IPoolController.AddOrUpdatePool), request, request, callback);
        }
Esempio n. 4
0
        public void RemoveMineWorkAsync(Guid id, Action <ResponseBase, Exception> callback)
        {
            DataRequest <Guid> request = new DataRequest <Guid> {
                Data = id
            };

            RpcRoot.PostAsync(NTMinerRegistry.GetControlCenterHost(), NTKeyword.ControlCenterPort, _controllerName, nameof(IMineWorkController.RemoveMineWork), request, request, callback);
        }
Esempio n. 5
0
        public void UpdateUserAsync(UserData userData, Action <ResponseBase, Exception> callback)
        {
            DataRequest <UserData> request = new DataRequest <UserData>()
            {
                Data = userData
            };

            RpcRoot.PostAsync(NTMinerRegistry.GetControlCenterHost(), NTKeyword.ControlCenterPort, _controllerName, nameof(IUserController.UpdateUser), request, request, callback);
        }
Esempio n. 6
0
        public void RefreshClientsAsync(List <string> objectIds, Action <DataResponse <List <ClientData> >, Exception> callback)
        {
            MinerIdsRequest request = new MinerIdsRequest()
            {
                ObjectIds = objectIds
            };

            RpcRoot.PostAsync(NTMinerRegistry.GetControlCenterHost(), NTKeyword.ControlCenterPort, _controllerName, nameof(IClientController.RefreshClients), request, request, callback);
        }
Esempio n. 7
0
        public void AddClientsAsync(List <string> clientIps, Action <ResponseBase, Exception> callback)
        {
            AddClientRequest request = new AddClientRequest()
            {
                ClientIps = clientIps
            };

            RpcRoot.PostAsync(NTMinerRegistry.GetControlCenterHost(), NTKeyword.ControlCenterPort, _controllerName, nameof(IClientController.AddClients), request, request, callback);
        }
Esempio n. 8
0
        public void RemoveUserAsync(string loginName, Action <ResponseBase, Exception> callback)
        {
            DataRequest <String> request = new DataRequest <String>()
            {
                Data = loginName
            };

            RpcRoot.PostAsync(NTMinerRegistry.GetControlCenterHost(), NTKeyword.ControlCenterPort, _controllerName, nameof(IUserController.RemoveUser), request, request, callback);
        }
Esempio n. 9
0
        public void SetAppSettingsAsync(List <AppSettingData> entities, Action <ResponseBase, Exception> callback)
        {
            DataRequest <List <AppSettingData> > request = new DataRequest <List <AppSettingData> >()
            {
                Data = entities
            };

            RpcRoot.PostAsync(NTMinerRegistry.GetControlCenterHost(), NTKeyword.ControlCenterPort, _controllerName, nameof(IAppSettingController.SetAppSettings), request, request, callback);
        }
Esempio n. 10
0
        public void AddOrUpdateMinerGroupAsync(MinerGroupData entity, Action <ResponseBase, Exception> callback)
        {
            entity.ModifiedOn = DateTime.Now;
            DataRequest <MinerGroupData> request = new DataRequest <MinerGroupData> {
                Data = entity
            };

            RpcRoot.PostAsync(NTMinerRegistry.GetControlCenterHost(), NTKeyword.ControlCenterPort, _controllerName, nameof(IMinerGroupController.AddOrUpdateMinerGroup), request, request, callback);
        }
Esempio n. 11
0
        public void LoginAsync(string loginName, string password, Action <ResponseBase, Exception> callback)
        {
            VirtualRoot.SetRpcUser(new User.RpcUser(loginName, password));
            SignRequest request = new SignRequest()
            {
            };

            RpcRoot.PostAsync(NTMinerRegistry.GetControlCenterHost(), NTKeyword.ControlCenterPort, _controllerName, nameof(IControlCenterController.LoginControlCenter), request, request, callback);
        }
Esempio n. 12
0
        public void UpdateClientsAsync(string propertyName, Dictionary <string, object> values, Action <ResponseBase, Exception> callback)
        {
            UpdateClientsRequest request = new UpdateClientsRequest {
                PropertyName = propertyName,
                Values       = values
            };

            RpcRoot.PostAsync(NTMinerRegistry.GetControlCenterHost(), NTKeyword.ControlCenterPort, _controllerName, nameof(IClientController.UpdateClients), request, request, callback);
        }
Esempio n. 13
0
        public void GetLatestSnapshotsAsync(
            int limit,
            Action <GetCoinSnapshotsResponse, Exception> callback)
        {
            GetCoinSnapshotsRequest request = new GetCoinSnapshotsRequest {
                Limit = limit
            };

            RpcRoot.PostAsync(NTMinerRegistry.GetControlCenterHost(), NTKeyword.ControlCenterPort, _controllerName, nameof(IControlCenterController.LatestSnapshots), request, request, callback);
        }
Esempio n. 14
0
        public void ExportMineWorkAsync(Guid workId, string localJson, string serverJson, Action <ResponseBase, Exception> callback)
        {
            ExportMineWorkRequest request = new ExportMineWorkRequest {
                MineWorkId = workId,
                LocalJson  = localJson,
                ServerJson = serverJson
            };

            RpcRoot.PostAsync(NTMinerRegistry.GetControlCenterHost(), NTKeyword.ControlCenterPort, _controllerName, nameof(IMineWorkController.ExportMineWork), request, request, callback);
        }
Esempio n. 15
0
        public void UpdateClientAsync(string objectId, string propertyName, object value, Action <ResponseBase, Exception> callback)
        {
            UpdateClientRequest request = new UpdateClientRequest {
                ObjectId     = objectId,
                PropertyName = propertyName,
                Value        = value
            };

            RpcRoot.PostAsync(NTMinerRegistry.GetControlCenterHost(), NTKeyword.ControlCenterPort, _controllerName, nameof(IClientController.UpdateClient), request, request, callback);
        }
Esempio n. 16
0
        public ResponseBase AddOrUpdateMineWork(MineWorkData entity)
        {
            entity.ModifiedOn = DateTime.Now;
            DataRequest <MineWorkData> request = new DataRequest <MineWorkData> {
                Data = entity
            };
            ResponseBase response = RpcRoot.Post <ResponseBase>(NTMinerRegistry.GetControlCenterHost(), NTKeyword.ControlCenterPort, _controllerName, nameof(IMineWorkController.AddOrUpdateMineWork), request, request);

            return(response);
        }
Esempio n. 17
0
 public string GetLocalJson(Guid workId)
 {
     try {
         DataRequest <Guid> request = new DataRequest <Guid>()
         {
             Data = workId
         };
         var response = RpcRoot.Post <DataResponse <string> >(NTMinerRegistry.GetControlCenterHost(), NTKeyword.ControlCenterPort, _controllerName, nameof(IMineWorkController.GetLocalJson), request, request);
         if (response != null)
         {
             return(response.Data);
         }
     }
     catch (Exception e) {
         Logger.ErrorDebugLine(e);
     }
     return(string.Empty);
 }
Esempio n. 18
0
        public ServerHostSelectViewModel(string selected, Action <ServerHostItem> onOk)
        {
            var data = NTMinerRegistry.GetControlCenterHosts().ToList();

            if (!data.Contains("127.0.0.1") && !data.Contains("localhost"))
            {
                data.Add("127.0.0.1");
            }
            _serverHosts    = data.Select(a => new ServerHostItem(a)).ToList();
            _selectedResult = _serverHosts.FirstOrDefault(a => a.IpOrHost == selected);
            OnOk            = onOk;
            this.Remove     = new DelegateCommand <ServerHostItem>((serverHost) => {
                if (this.ServerHosts.Remove(serverHost))
                {
                    if (NTMinerRegistry.GetControlCenterHost() == serverHost.IpOrHost)
                    {
                        NTMinerRegistry.SetControlCenterHost(string.Empty);
                    }
                    this.ServerHosts = this.ServerHosts.ToList();
                }
            });
        }
Esempio n. 19
0
 // TODO:异步化
 /// <summary>
 /// 同步方法
 /// </summary>
 /// <returns></returns>
 public DataResponse <List <WalletData> > GetWallets()
 {
     try {
         SignRequest request = new SignRequest {
         };
         DataResponse <List <WalletData> > response = RpcRoot.Post <DataResponse <List <WalletData> > >(NTMinerRegistry.GetControlCenterHost(), NTKeyword.ControlCenterPort, _controllerName, nameof(IWalletController.Wallets), request, request, timeout: 2000);
         return(response);
     }
     catch (Exception e) {
         Logger.ErrorDebugLine(e);
         return(null);
     }
 }
Esempio n. 20
0
 public void ActiveControlCenterAdminAsync(string password, Action <ResponseBase, Exception> callback)
 {
     RpcRoot.PostAsync(NTMinerRegistry.GetControlCenterHost(), NTKeyword.ControlCenterPort, _controllerName, nameof(IControlCenterController.ActiveControlCenterAdmin), password, callback);
 }
Esempio n. 21
0
 /// <summary>
 /// 同步方法
 /// </summary>
 /// <param name="clientId"></param>
 /// <returns></returns>
 private static List <UserData> GetUsers()
 {
     try {
         DataRequest <Guid?> request = new DataRequest <Guid?> {
             Data = NTMinerRegistry.GetClientId()
         };
         using (HttpClient client = new HttpClient()) {
             client.Timeout = TimeSpan.FromMilliseconds(2000);
             Task <HttpResponseMessage>      message  = client.PostAsJsonAsync($"http://{NTMinerRegistry.GetControlCenterHost()}:{VirtualRoot.ControlCenterPort}/api/ControlCenter/Users", request);
             DataResponse <List <UserData> > response = message.Result.Content.ReadAsAsync <DataResponse <List <UserData> > >().Result;
             if (response != null && response.Data != null)
             {
                 return(response.Data);
             }
         }
     }
     catch (Exception e) {
         Logger.ErrorDebugLine(e);
     }
     return(new List <UserData>());
 }
Esempio n. 22
0
 // TODO:异步化
 /// <summary>
 /// 同步方法
 /// </summary>
 /// <returns></returns>
 public List <MineWorkData> GetMineWorks()
 {
     try {
         SignRequest request = new SignRequest {
         };
         DataResponse <List <MineWorkData> > response = RpcRoot.Post <DataResponse <List <MineWorkData> > >(NTMinerRegistry.GetControlCenterHost(), NTKeyword.ControlCenterPort, _controllerName, nameof(IMineWorkController.MineWorks), request, request, timeout: 2000);
         if (response != null && response.Data != null)
         {
             return(response.Data);
         }
         return(new List <MineWorkData>());
     }
     catch (Exception e) {
         Logger.ErrorDebugLine(e);
         return(new List <MineWorkData>());
     }
 }
Esempio n. 23
0
 public List <AppSettingData> GetAppSettings()
 {
     try {
         AppSettingsRequest request = new AppSettingsRequest {
         };
         DataResponse <List <AppSettingData> > response = RpcRoot.Post <DataResponse <List <AppSettingData> > >(NTMinerRegistry.GetControlCenterHost(), NTKeyword.ControlCenterPort, _controllerName, nameof(IAppSettingController.AppSettings), request);
         if (response.IsSuccess())
         {
             return(response.Data);
         }
         return(new List <AppSettingData>());
     }
     catch (Exception e) {
         Logger.ErrorDebugLine(e);
         return(new List <AppSettingData>());
     }
 }
Esempio n. 24
0
 /// <summary>
 /// 同步方法
 /// </summary>
 /// <param name="clientId"></param>
 /// <returns></returns>
 private static List <UserData> GetUsers()
 {
     try {
         DataRequest <Guid?> request = new DataRequest <Guid?> {
             LoginName = string.Empty,
             Data      = NTMinerRegistry.GetClientId()
         };
         using (HttpClient client = new HttpClient()) {
             Task <HttpResponseMessage>      message  = client.PostAsJsonAsync($"http://{NTMinerRegistry.GetControlCenterHost()}:{WebApiConst.ControlCenterPort}/api/ControlCenter/Users", request);
             DataResponse <List <UserData> > response = message.Result.Content.ReadAsAsync <DataResponse <List <UserData> > >().Result;
             if (response != null && response.Data != null)
             {
                 return(response.Data);
             }
         }
     }
     catch (Exception e) {
         e = e.GetInnerException();
         Logger.ErrorDebugLine(e.Message, e);
     }
     return(new List <UserData>());
 }
Esempio n. 25
0
 // TODO:异步化
 /// <summary>
 /// 同步方法
 /// </summary>
 /// <param name="clientId"></param>
 /// <returns></returns>
 public List <UserData> GetUsers(Guid?clientId)
 {
     try {
         DataRequest <Guid?> request = new DataRequest <Guid?> {
             Data = clientId
         };
         DataResponse <List <UserData> > response = RpcRoot.Post <DataResponse <List <UserData> > >(NTMinerRegistry.GetControlCenterHost(), NTKeyword.ControlCenterPort, _controllerName, nameof(IUserController.Users), request, request, timeout: 2000);
         if (response != null && response.Data != null)
         {
             return(response.Data);
         }
         return(new List <UserData>());
     }
     catch (Exception e) {
         Logger.ErrorDebugLine(e);
         return(new List <UserData>());
     }
 }