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 Task WhenIGetUserAddress()
        {
            _request = Fixture.Build <GetAddressesRequest>()
                       .With(x => x.UserId, _userId)
                       .Create();

            _replay = await Client.GetAddressesAsync(_request);
        }
예제 #3
0
        public virtual GetAddressesResponse GetAddresses(GetAddressesRequest request)
        {
            Ensure.That(request, "request").IsNotNull();

            var httpRequest  = GetAddressesHttpRequestFactory.Create(request);
            var httpResponse = Connection.Send(httpRequest);

            return(ResponseFactory.Create <GetAddressesResponse>(httpResponse));
        }
예제 #4
0
        public GetAddressesResponse GetUsedReceiveAddresses(GetAddressesRequest getAddressesRequest)
        {
            using (var context = GetWalletContext())
            {
                var addresses =
                    context.WalletManager.GetAllPubKeyHashReceiveAddresses(getAddressesRequest.Skip, getAddressesRequest.Take);

                return(new GetAddressesResponse {
                    PubKeyHashAddresses = addresses
                });
            }
        }
예제 #5
0
        public void InitiateSweap(List <Peer> originPeers)
        {
            var request = new GetAddressesRequest();

            request.MaxPeers = Configurations.Config.MaxPeersGiven;

            foreach (var originPeer in originPeers)
            {
                _server.SendResponse(request, originPeer);

                ActiveRequestForPeers.Add(new RequestForPeers()
                {
                    From = originPeer, ElapseTime = DateTime.Now.AddSeconds(Configurations.Config.SecondsToWaitForAddresses)
                });
            }
        }
예제 #6
0
        public void ParseGetAddressesRequest(GetAddressesRequest request, Peer source)
        {
            //Answer with max n peers
            var peersRandom = new List <Peer>();

            peersRandom.AddRange(Peers);
            peersRandom.Shuffle();
            int numberOfPeersToRespond = (peersRandom.Count >= request.MaxPeers) ? request.MaxPeers : peersRandom.Count;
            var responsePeers          = peersRandom.Take(numberOfPeersToRespond).ToList();
            var response = new AddressesRequest()
            {
                Peers = responsePeers
            };

            AddPeerToMe(source);
            _server.SendResponse(response, source);
        }
예제 #7
0
        public override async Task <GetAddressesReplay> GetAddresses(GetAddressesRequest request, ServerCallContext context)
        {
            var operation = _provider.GetRequiredService <AddressGetOperation>();
            var mapper    = _provider.GetRequiredService <IMapper <Result, GetAddressesReplay> >();

            if (Guid.TryParse(request.UserId, out var userId))
            {
                var result = await operation.ExecuteAsync(new AddressGet
                {
                    UserId = userId
                });

                return(mapper.Map(result));
            }

            return(mapper.Map(DomainError.UserError.InvalidUserId));
        }
예제 #8
0
        public async Task <IActionResult> GetByIdAddresses([FromRoute] Guid id)
        {
            var result = new GetAddressesRequest(id);

            return(personPresenter.GetAddressesResult(await mediator.Send(result)));
        }
예제 #9
0
        public NegotiatedContentResult <GetAddressesResponse> PostGetAddresses([FromBody] GetAddressesRequest request)
        {
            GetAddressesResponse resp = _userServices.GetAddresses(request);

            return(Content(HttpStatusCode.OK, resp));
        }
예제 #10
0
        public async Task <List <AddressResponse> > Handle(GetAddressesRequest getAddressesRequest, CancellationToken cancellationToken)
        {
            var response = await _outerApiService.GetAddresses(getAddressesRequest.Query);

            return(Mapper.Map <List <AddressResponse> >(response.Addresses));
        }