예제 #1
0
        private async Task <bool> CreateAccountAsync(
            CreateAccountPersonInfo createAccountPersonInfo,
            CancellationToken cancelToken)
        {
            try
            {
                return(await m_client.CreateAccountAsync(createAccountPersonInfo, cancelToken));
            }
            catch (ServerException se)
            {
                switch (se.StatusCode)
                {
                case (int)ServerStatusCode.InvalidAge:
                    m_serverErrorNumber = ServerErrorNumber.InvalidAge;
                    break;

                case (int)ServerStatusCode.InvalidIPAddress:
                    m_serverErrorNumber = ServerErrorNumber.InvalidIPAddress;
                    break;

                case (int)ServerStatusCode.InvalidPerson:
                    m_serverErrorNumber = ServerErrorNumber.InvalidPerson;
                    break;

                case (int)ServerStatusCode.DuplicateCredentialFound:
                    m_serverErrorNumber = ServerErrorNumber.DuplicateCredentialFound;
                    break;
                }

                throw;
            }
        }
예제 #2
0
 public IAsyncOperation <bool> CreateAccountAsync(CreateAccountPersonInfo createAccountPersonInfo)
 {
     return(AsyncInfo.Run(
                async cancelToken => {
         try
         {
             return await CreateAccountAsync(
                 createAccountPersonInfo,
                 cancelToken);
         }
         catch (TaskCanceledException)
         {
             m_startupStatus = AppStartupStatus.Cancelled;
             throw;
         }
     }));
 }