Esempio n. 1
0
        public override void Process(ApiServer server)
        {
            if (server.AssertServerSetup(this) || server.AssertAccountNotNull() || server.AssertUserOnline())
            {
                return;
            }
            using DatabaseManager databaseManager = new DatabaseManager(server);
            string id = databaseManager.UserIdToId(UserId, out bool success);

            if (!success)
            {
                return;
            }
            Account account = databaseManager.GetAccount(id, out success);

            if (!success)
            {
                return;
            }
            account.AccountInfo.Radius = -1;
            GetAccountInfoResponse response = new GetAccountInfoResponse(ResponseId.GetAccountInfo, account.AccountInfo);
            SerializedApiResponse  serializedApiResponse = SerializedApiResponse.Create(response);
            string json = serializedApiResponse.Serialize();

            server.Send(json);
            server.UnitTesting.MethodSuccess = true;
        }
        public void GetAccountInfoTest()
        {
            GetAccountInfoResponse result = client.GetAccountInfoAsync().Result;
            string strret = JsonConvert.SerializeObject(result, Formatting.Indented);

            Console.WriteLine(strret);
            Assert.Equal("ok", result.status);
        }
Esempio n. 3
0
        private async void PortfolioRequester(CancellationToken token)
        {
            try
            {
                string url = _privateUriBuilder.Build("GET", "/v1/account/accounts");

                var httpClient = new HttpClient();

                string response = httpClient.GetStringAsync(url).Result;

                Portfolios = new List <Portfolio>();

                GetAccountInfoResponse accountInfo = JsonConvert.DeserializeObject <GetAccountInfoResponse>(response);

                foreach (var info in accountInfo.data)
                {
                    var portfolio = new Portfolio();
                    portfolio.Number       = info.type + "_" + info.id;
                    portfolio.ValueBegin   = 1;
                    portfolio.ValueCurrent = 1;
                    portfolio.ValueBlocked = 1;

                    Portfolios.Add(portfolio);
                }

                OnPortfolioEvent(Portfolios);

                while (!token.IsCancellationRequested)
                {
                    try
                    {
                        await Task.Delay(5000, token);

                        GetPortfolios();
                    }
                    catch (TaskCanceledException)
                    {
                        return;
                    }
                    catch (Exception exception)
                    {
                        SendLogMessage("MessageReader error: " + exception, LogMessageType.Error);
                    }
                }
            }
            catch (Exception e)
            {
                SendLogMessage(e.ToString(), LogMessageType.Error);
            }
        }
Esempio n. 4
0
        public async Task TestGetAccount()
        {
            GetAccountInfoResponse accountInfo = await Client.GetAccountInfo();

            Assert.False(string.IsNullOrWhiteSpace(accountInfo.Info.CustomerDetails.AccountId));
            Assert.AreNotEqual(0, accountInfo.Info.CustomerDetails.CreditsRemaining);
            Assert.AreNotEqual(0, accountInfo.Info.CustomerDetails.CreditsUsed);
            Assert.False(string.IsNullOrWhiteSpace(accountInfo.Info.CustomerDetails.ExpirationDate));
            Assert.False(string.IsNullOrWhiteSpace(accountInfo.Info.CustomerDetails.IPAddress));
            Assert.True(accountInfo.Info.CustomerDetails.MaximumConcurrentRequests > 0);
            Assert.False(string.IsNullOrWhiteSpace(accountInfo.Info.CustomerDetails.Name));
            Assert.False(string.IsNullOrWhiteSpace(accountInfo.Info.CustomerDetails.Region));
            Assert.IsNotNull(accountInfo.Info.CustomerDetails.Region);
        }
Esempio n. 5
0
        public async Task FetchAccountInfoAsync_should_retrieve_the_routing_numbers_of_an_user_accounts()
        {
            // Arrange
            using PlaidClient client = new PlaidClient { Environment = Environment.Sandbox };
            GetAccountInfoRequest request = new GetAccountInfoRequest {
            };

            // Act
            GetAccountInfoResponse result = await client.FetchAccountInfoAsync(request);

            // Assert
            result.SuccessfulOutcome.ShouldBeTrue();
            result.Request.ShouldNotBeNullOrEmpty();
            result.Accounts.Length.ShouldBeGreaterThan(0);
            //result.Numbers.Length.ShouldBeGreaterThan(0);
            result.Item.ShouldNotBeNull();
        }
Esempio n. 6
0
        public static GetAccountInfoResponse Unmarshall(UnmarshallerContext _ctx)
        {
            GetAccountInfoResponse getAccountInfoResponse = new GetAccountInfoResponse();

            getAccountInfoResponse.HttpResponse = _ctx.HttpResponse;
            getAccountInfoResponse.ErrorCode    = _ctx.IntegerValue("GetAccountInfo.ErrorCode");
            getAccountInfoResponse.Message      = _ctx.StringValue("GetAccountInfo.Message");
            getAccountInfoResponse.Success      = _ctx.BooleanValue("GetAccountInfo.Success");
            getAccountInfoResponse.RequestId    = _ctx.StringValue("GetAccountInfo.RequestId");

            GetAccountInfoResponse.GetAccountInfo_AccountInfo accountInfo = new GetAccountInfoResponse.GetAccountInfo_AccountInfo();
            accountInfo.AccountConcurrentMax     = _ctx.IntegerValue("GetAccountInfo.AccountInfo.AccountConcurrentMax");
            accountInfo.AccountApplicationMax    = _ctx.IntegerValue("GetAccountInfo.AccountInfo.AccountApplicationMax");
            accountInfo.AccountApplicationNumber = _ctx.IntegerValue("GetAccountInfo.AccountInfo.AccountApplicationNumber");
            getAccountInfoResponse.AccountInfo   = accountInfo;

            return(getAccountInfoResponse);
        }
Esempio n. 7
0
        /// <summary>
        /// 获取账号信息包含余额
        /// </summary>
        /// <param name="username"></param>
        /// <param name="password"></param>
        /// <returns></returns>
        public GetAccountInfoResponse GetAccountBalance(string username, string password)
        {
            if (!CheckUtil.CheckAccount(username, password))
            {
                return((GetAccountInfoResponse)CheckUtil.CreateResponse(ResponseCodeEnum.ACCOUNT_ERROR));
            }
            GetAccountInfoResponse response = new GetAccountInfoResponse();

            try
            {
                SmsAddrecordInfo addRecord = SmsAddRecordManage.Instance.GetAccountInfo(username, password);
                response.AccountInfo       = new AccountModel();
                response.AccountInfo.Mount = addRecord.AfterAdd.HasValue ? addRecord.AfterAdd.Value : 0;
            }
            catch (Exception exception)
            {
                return((GetAccountInfoResponse)CheckUtil.CreateResponse(ResponseCodeEnum.INNER_EXCEPTION, exception.Message));
            }
            return(response);
        }
        public static GetAccountInfoResponse Unmarshall(UnmarshallerContext _ctx)
        {
            GetAccountInfoResponse getAccountInfoResponse = new GetAccountInfoResponse();

            getAccountInfoResponse.HttpResponse = _ctx.HttpResponse;
            getAccountInfoResponse.RequestId    = _ctx.StringValue("GetAccountInfo.RequestId");

            GetAccountInfoResponse.GetAccountInfo_AccountInfo accountInfo = new GetAccountInfoResponse.GetAccountInfo_AccountInfo();
            accountInfo.AccountId              = _ctx.StringValue("GetAccountInfo.AccountInfo.AccountId");
            accountInfo.MonthFreeCount         = _ctx.IntegerValue("GetAccountInfo.AccountInfo.MonthFreeCount");
            accountInfo.MonthHttpsResolveCount = _ctx.IntegerValue("GetAccountInfo.AccountInfo.MonthHttpsResolveCount");
            accountInfo.MonthResolveCount      = _ctx.IntegerValue("GetAccountInfo.AccountInfo.MonthResolveCount");
            accountInfo.PackageCount           = _ctx.IntegerValue("GetAccountInfo.AccountInfo.PackageCount");
            accountInfo.UserStatus             = _ctx.IntegerValue("GetAccountInfo.AccountInfo.UserStatus");
            accountInfo.SignSecret             = _ctx.StringValue("GetAccountInfo.AccountInfo.SignSecret");
            accountInfo.UnsignedEnabled        = _ctx.BooleanValue("GetAccountInfo.AccountInfo.UnsignedEnabled");
            accountInfo.SignedCount            = _ctx.LongValue("GetAccountInfo.AccountInfo.SignedCount");
            accountInfo.UnsignedCount          = _ctx.LongValue("GetAccountInfo.AccountInfo.UnsignedCount");
            getAccountInfoResponse.AccountInfo = accountInfo;

            return(getAccountInfoResponse);
        }
Esempio n. 9
0
 public static void InjectInfoToContext(this HttpContext context, GetAccountInfoResponse accountInfo)
 {
     context.Items["AccountInfo"] = accountInfo;
 }
        public ResponseBase Any(GetAccountInfo request)
        {
            GetAccountInfoResponse response = new GetAccountInfoResponse();

            try
            {
                SessionInfo sessionParams = new SessionInfo();
                sessionParams.SessionId = request.SessionToken;

                SessionInfo sessionInfo = _dal.GetSessionInfo(sessionParams, true);
                if (sessionInfo != null)
                {
                    // getting account details
                    GetUserAccountInfoParams accInfoParams = new GetUserAccountInfoParams();
                    accInfoParams.AccountKey = sessionInfo.AccountKey;

                    GetUserAccountInfoResult accResult = _dal.GetUserAccountInfo(accInfoParams);
                    if (accResult != null)
                    {
                        response.Payload.AccountKey     = accInfoParams.AccountKey;
                        response.Payload.Email          = accResult.Email;
                        response.Payload.Name           = accResult.Name;
                        response.Payload.DateExpires    = accResult.DateExpires;
                        response.Payload.DateCreated    = accResult.DateCreated;
                        response.Payload.DateExpiresStr = accResult.DateExpires.ToString();
                        response.Payload.DateCreatedStr = accResult.DateCreated.ToString();

                        response.Success = true;
                    }
                    else
                    {
                        response.Success = false;
                        response.Errors.Add(new Error()
                        {
                            Code = EErrorCodes.UserAccountNotFound, Type = EErrorType.Error, Message = "No user account found for the given session"
                        });
                    }
                }
                else
                {
                    response.Success = false;
                    response.Errors.Add(new Error()
                    {
                        Code = EErrorCodes.InvalidSession, Type = EErrorType.Error, Message = "Invalid session"
                    });
                }
            }
            catch (Exception ex)
            {
                _logger.Log(ex);
                response.Success = false;
                response.Errors.Add(new Error()
                {
                    Code    = EErrorCodes.GeneralError,
                    Type    = EErrorType.Error,
                    Message = string.Format("Unexpected error: {0}", ex.Message)
                });
            }

            return(response);
        }
Esempio n. 11
0
        /// <summary>
        /// Gets information about current logged in user
        /// </summary>
        /// <returns>Operation response</returns>
        public GetAccountInfoResponse GetAccountInfo()
        {
            GetAccountInfoResponse response = new GetAccountInfoResponse();
            SOAPUser user;

            string result = _service.get_account_info(_apiKey, _token, out user);

            response.Status = StatusMessageParser.ParseGetAccountInfoStatus(result);

            if (response.Status == GetAccountInfoStatus.Successful)
            {
                response.User = new User(user);
            }

            return response;
        }
Esempio n. 12
0
        private void GetAccountInfoCompleted(object sender, get_account_infoCompletedEventArgs e)
        {
            object[] userState = (object[])e.UserState;
            OperationFinished<GetAccountInfoResponse> getAccountInfoCompleted =
                (OperationFinished<GetAccountInfoResponse>) userState[1];
            GetAccountInfoResponse response;

            if (e.Error != null)
            {
                response = new GetAccountInfoResponse
                            {
                                Status = GetAccountInfoStatus.Failed,
                                UserState = userState[0],
                                Error = e.Error
                            };
            }
            else
            {
                GetAccountInfoStatus status = StatusMessageParser.ParseGetAccountInfoStatus(e.Result);
                User user = status == GetAccountInfoStatus.Successful ? new User(e.user) : null;

                response = new GetAccountInfoResponse
                           	{
                           		Status = status,
                           		UserState = userState[0],
                           		User = user
                           	};

                response.Error = response.Status == GetAccountInfoStatus.Unknown
                                 	?
                                 		new UnknownOperationStatusException(e.Result)
                                 	:
                                 		null;
            }

            getAccountInfoCompleted(response);
        }