예제 #1
0
 public ResponseBase AddOrUpdateNTMinerFile(AddOrUpdateNTMinerFileRequest request)
 {
     if (request == null)
     {
         return(LoadClientResponse.InvalidInput(Guid.Empty, "参数错误"));
     }
     try {
         if (string.IsNullOrEmpty(request.LoginName))
         {
             return(ResponseBase.InvalidInput(request.MessageId, "登录名不能为空"));
         }
         if (!HostRoot.Current.UserSet.TryGetKey(request.LoginName, out IUser key))
         {
             return(ResponseBase.Forbidden(request.MessageId));
         }
         if (!request.Timestamp.IsInTime())
         {
             return(ResponseBase.Expired(request.MessageId));
         }
         if (request.Data == null)
         {
             return(ResponseBase.InvalidInput(request.MessageId));
         }
         if (request.GetSign(key.Password) != request.Sign)
         {
             return(ResponseBase.Forbidden(request.MessageId, "签名验证未通过"));
         }
         HostRoot.Current.NTMinerFileSet.AddOrUpdate(request.Data);
         return(ResponseBase.Ok(request.MessageId));
     }
     catch (Exception e) {
         Global.Logger.Error(e.Message, e);
         return(ResponseBase.ServerError(request.MessageId, e.Message));
     }
 }
예제 #2
0
 public void AddOrUpdateNTMinerFile(NTMinerFileData entity, Action <ResponseBase> callback)
 {
     Task.Factory.StartNew(() => {
         Guid messageId = Guid.NewGuid();
         try {
             AddOrUpdateNTMinerFileRequest request = new AddOrUpdateNTMinerFileRequest()
             {
                 MessageId = messageId,
                 Data      = entity,
                 LoginName = LoginName,
                 Timestamp = DateTime.Now
             };
             request.SignIt(Password);
             using (var service = CreateService()) {
                 ResponseBase response = service.AddOrUpdateNTMinerFile(request);
                 callback?.Invoke(response);
             }
         }
         catch (CommunicationException e) {
             Global.DebugLine(e.Message, ConsoleColor.Red);
             callback?.Invoke(ResponseBase.ClientError(messageId, e.Message));
         }
         catch (Exception e) {
             Global.Logger.Error(e.Message, e);
             callback?.Invoke(ResponseBase.ClientError(messageId, e.Message));
         }
     });
 }