public GetAddressesResponse GetAddresses(GetAddressesRequest request)
        {
            GetAddressesResponse response = new GetAddressesResponse();
            Consumer             consumer = null;

            try
            {
                using (UserDao dao = new UserDao())
                {
                    consumer = GetAuthUser(dao, request.user_id, request.auth_token, true);
                    if (consumer == null)
                    {
                        MakeNouserResponse(response);
                        return(response);
                    }
                    if (consumer.ConsumerAddresses.Count <= 0 && consumer.ConsumerAddresses.Where(x => x.StatusID == 1).Count() <= 0)
                    {
                        MakeNoAddressResponse(response);
                        return(response);
                    }
                    UsersHelper.CopyFromEntity(response, consumer);
                    response.has_resource = 1;
                    response.code         = 0;
                    response.message      = MessagesSource.GetMessage("address.details.found");
                    return(response);
                }
            }
            catch (Exception ex)
            {
                response.MakeExceptionResponse(ex);
            }
            return(response);
        }
예제 #2
0
        private async void btnGetAddresses_Click(object sender, EventArgs e)
        {
            Collivery collivery = new Collivery()
            {
                auth = new AuthenticateRequest()
                {
                    email    = txtEmail.Text,
                    password = txtPassword.Text
                }
            };

            GetAddressesResponse townsResp = await collivery.get_addresses(new GetAddressesRequest()
            {
                filter = new GetAddressesRequestFilter()
                {
                    custom_id = "4"
                },
                token = authResp.token
            });

            if (townsResp.error != null)
            {
                txtResult.Text = "Error - " + townsResp.error.error;
            }
            else
            {
                txtResult.Text = "Success - Addresses Returned: " + townsResp.addresses.Count;
            }
        }
        public IResponse GenerateResponse(string json)
        {
            string[] lines = json.Split ('\n');
            string inputCmd = lines [0];
            string jsonOutput = json.Substring (inputCmd.Length);

            GetAddressesResponse response = new GetAddressesResponse() { Addresses = JsonConvert.DeserializeObject<string[]> (jsonOutput) } ;
            return response;
        }
예제 #4
0
 public static void CopyFromEntity(GetAddressesResponse response, Consumer consumer)
 {
     if (response.user_addresses == null)
     {
         response.user_addresses = new List <UserAddressesDto>();
     }
     if (consumer.ConsumerAddresses.Count() > 0)
     {
         response.user_addresses = new List <UserAddressesDto>();
         foreach (ConsumerAddress consAddr in consumer.ConsumerAddresses.Where(x => x.StatusID == 1))
         {
             UserAddressesDto usrAddr = new UserAddressesDto();
             CopyFromEntity(usrAddr, consAddr, consumer.Name);
             response.user_addresses.Add(usrAddr);
         }
     }
 }
예제 #5
0
        public async Task <ECCModel> ExecuteAsync([FromBody] RequestObject request)
        {
            if (AuthKey == null)
            {
                this.Response.StatusCode = 403;
                return(null);
            }

            try
            {
                if (IsRequestForPublicKey(request))
                {
                    return(CreatePublicKey());
                }

                DecryptedRequest decryptedRequest = DecryptRequest(request, this.walletController);
                CheckPermissions(decryptedRequest, this.secureApiSettings);

                switch (decryptedRequest.Command)
                {
                case "createWallet":
                {
                    WalletCreateRequest walletCreateRequest = Deserialize <WalletCreateRequest>(decryptedRequest.Payload);
                    this.walletController.CreateWallet(walletCreateRequest);
                    return(CreateOk(request));
                }

                case "loadWallet":
                {
                    LoadWalletResponse loadWalletResponse = this.walletController.LoadWallet();
                    return(CreateOk(loadWalletResponse, request));
                }

                case "daemonInfo":     // one-time information about the running daemon, includes list of wallet files
                {
                    DaemonInfo daemonStatus = this.walletController.GetDaemonInfo();
                    return(CreateOk(daemonStatus, request));
                }

                case "walletInfo":     // does not depend on weather a wallet is loaded, but if a wallet is loaded, it includes all wallet info, including balance and staking info when enabled
                {
                    WalletInfo walletInfo = this.walletController.GetWalletInfo();
                    return(CreateOk(walletInfo, request));
                }

                case "historyInfo":
                {
                    var         historyRequest = Deserialize <HistoryRequest>(decryptedRequest.Payload);
                    HistoryInfo historyInfo    = this.walletController.GetHistoryInfo(historyRequest);
                    return(CreateOk(historyInfo, request));
                }

                case "getReceiveAddresses":
                {
                    var getAddressesRequest = Deserialize <GetAddressesRequest>(decryptedRequest.Payload);
                    GetAddressesResponse getAddressesResponse = this.walletController.GetUsedReceiveAddresses(getAddressesRequest);
                    return(CreateOk(getAddressesResponse, request));
                }

                case "createReceiveAddress":
                {
                    var createReceiveAddressRequest             = Deserialize <CreateReceiveAddressRequest>(decryptedRequest.Payload);
                    CreateReceiveAddressResponse addressesModel = this.walletController.CreateReceiveAddress(createReceiveAddressRequest);
                    return(CreateOk(addressesModel, request));
                }

                case "estimateFee":
                {
                    var  txFeeEstimateRequest = Deserialize <TransactionRequest>(decryptedRequest.Payload);
                    long fee = this.walletController.EstimateFee(txFeeEstimateRequest);
                    return(CreateOk(fee, request));
                }

                case "buildTransaction":
                {
                    var buildTransactionRequest             = Deserialize <TransactionRequest>(decryptedRequest.Payload);
                    TransactionResponse transactionResponse = this.walletController.BuildTransaction(buildTransactionRequest);
                    return(CreateOk(transactionResponse, request));
                }

                case "repair":
                {
                    var walletSyncFromDateRequest = Deserialize <RepairRequest>(decryptedRequest.Payload);
                    this.walletController.Repair(walletSyncFromDateRequest);
                    return(CreateOk(request));
                }

                case "importKeys":
                {
                    var importKeysRequest  = Deserialize <ImportKeysRequest>(decryptedRequest.Payload);
                    var importKeysResponse = this.walletController.ImportKeys(importKeysRequest);
                    return(CreateOk(importKeysResponse, request));
                }

                case "exportKeys":
                {
                    var exportKeysRequest  = Deserialize <ExportKeysRequest>(decryptedRequest.Payload);
                    var exportKeysResponse = this.walletController.ExportKeys(exportKeysRequest);
                    return(CreateOk(exportKeysResponse, request));
                }

                case "startStaking":
                {
                    var startStakingRequest = Deserialize <StartStakingRequest>(decryptedRequest.Payload);
                    this.walletController.StartStaking(startStakingRequest);
                    return(CreateOk(request));
                }

                case "stopStaking":
                {
                    this.walletController.StopStaking();
                    return(CreateOk(request));
                }

                default:
                    throw new NotSupportedException($"The command '{decryptedRequest.Command}' is not supported.");
                }
            }
            catch (Exception e)
            {
                return(CreateError(e, request));
            }
        }
예제 #6
0
        public NegotiatedContentResult <GetAddressesResponse> PostGetAddresses([FromBody] GetAddressesRequest request)
        {
            GetAddressesResponse resp = _userServices.GetAddresses(request);

            return(Content(HttpStatusCode.OK, resp));
        }
예제 #7
0
 public static GetAddressesResponseShouldBe ShouldBe(this GetAddressesResponse response)
 {
     return(new GetAddressesResponseShouldBe(response));
 }