Example #1
0
        public BulkTransferTokenBuilder(
            Member member,
            IList <BulkTransferBody.Types.Transfer> transfers,
            double totalAmount,
            TransferEndpoint source)
        {
            payload = new TokenPayload
            {
                Version = "1.0",
                From    = new TokenMember
                {
                    Id = member.MemberId()
                },
                BulkTransfer = new BulkTransferBody
                {
                    TotalAmount = totalAmount.ToString(),
                    Source      = source,
                    Transfers   =
                    {
                        transfers
                    }
                }
            };
            var aliases = member.GetAliases()
                          .Result;

            if (aliases == null)
            {
                payload.From.Alias = aliases[0];
            }
        }
Example #2
0
 /// <summary>
 /// Optional. Sets the source account to bypass account selection.
 /// </summary>
 /// <param name="source">source</param>
 /// <returns>builder</returns>
 public StandingOrderBuilder SetSource(TransferEndpoint source)
 {
     this.requestPayload.StandingOrderBody
     .Instructions
     .Source = source;
     return(this);
 }
Example #3
0
 /// <summary>
 /// Optional. Sets the source account to bypass account selection. May be required for
 /// some banks.
 /// </summary>
 /// <param name="source"></param>
 /// <returns></returns>
 public TransferBuilder SetSource(TransferEndpoint source)
 {
     requestPayload.TransferBody
     .Instructions
     .Source = source;
     return(this);
 }
        public TransferPipe(TransferCommand _command, TransferEndpoint _fromOrigin, TransferEndpoint _toDestination, Transformation[] _throughTransformations = null)
        {
            this.Origin = _fromOrigin;
            this.Origin.TransferEndpointType = TransferEndpointType.ORIGIN;
            this.Origin.TransferCommand      = _command;

            this.Destination = _toDestination;
            this.Destination.TransferEndpointType = TransferEndpointType.DESTINATION;

            this.TransformationList = _throughTransformations;

            if (Origin is CollectionTransferEndpoint && Destination is CollectionTransferEndpoint)
            {
                CollectionTransferEndpoint o = Origin as CollectionTransferEndpoint;
                o.ConnectTo(Destination);
                o.TransformationList = this.TransformationList;
            }
            else if (Origin is ItemTransferEndpoint && Destination is ItemTransferEndpoint)
            {
                if (this.TransformationList == null)
                {
                    Origin.ConnectTo(Destination);
                }
                else
                {
                    Origin.ConnectTo(this.TransformationList[0]);
                    this.LinkAllTheTransformations();
                    this.TransformationList[this.TransformationList.Length - 1].ConnectTo(Destination);
                }
            }
        }
Example #5
0
        /// <summary>
        /// Adds a transfer source.
        /// </summary>
        /// <param name="source">source</param>
        /// <returns>builder</returns>
        public StandingOrderTokenBuilder SetSource(TransferEndpoint source)
        {
            var instructions = payload.StandingOrder.Instructions;

            if (instructions == null)
            {
                instructions = new TransferInstructions();
            }
            instructions.Source = source;
            payload.StandingOrder.Instructions = instructions;
            return(this);
        }
Example #6
0
        public Task <Transfer> RedeemTokenInternal(
            Token token,
            double?amount,
            string currency,
            string description,
            TransferEndpoint destination,
            string refId)
        {
            var payload = new TransferPayload
            {
                TokenId     = token.Id,
                Description = token.Payload.Description
            };

            if (destination != null)
            {
                payload.Destinations.Add(destination);
            }

            if (amount.HasValue)
            {
                var money = new Money {
                    Value = Util.DoubleToString(amount.Value)
                };
                payload.Amount = money;
            }

            if (currency != null)
            {
                payload.Amount.Currency = currency;
            }

            if (description != null)
            {
                payload.Description = description;
            }

            if (refId != null)
            {
                payload.RefId = refId;
            }
            else if (!string.IsNullOrEmpty(token.Payload.RefId) && amount == null)
            {
                payload.RefId = token.Payload.RefId;
            }
            else
            {
                logger.Warn("refId is not set. A random ID will be used.");
                payload.RefId = Util.Nonce();
            }
            return(client.CreateTransfer(payload));
        }
        /// <summary>
        /// Adds a source accountId to the token.
        /// </summary>
        /// <param name="accountId">source accountId</param>
        /// <returns>builder</returns>
        public TransferTokenBuilder SetAccountId(string accountId)
        {
            var source = new TransferEndpoint
            {
                Account = new BankAccount
                {
                    Token = new BankAccount.Types.Token
                    {
                        AccountId = accountId,
                        MemberId  = member.MemberId()
                    }
                }
            };

            payload.Transfer.Instructions.Source = source;
            return(this);
        }
Example #8
0
 public TransferBuilder AddDestination(TransferEndpoint destination)
 {
     requestPayload.TransferBody.Destinations.Add(destination);
     return(this);
 }
Example #9
0
 /// <summary>
 /// Adds a transfer source.
 /// </summary>
 /// <param name="source">the source</param>
 /// <returns></returns>
 public BulkTransferTokenBuilder SetSource(TransferEndpoint source)
 {
     payload.BulkTransfer.Source = source;
     return(this);
 }
Example #10
0
 public BulkTransferBuilder SetSource(TransferEndpoint source)
 {
     this.requestPayload.BulkTransferBody.Source = source;
     return(this);
 }
 /// <summary>
 /// Adds a transfer source.
 /// </summary>
 /// <param name="source">the source</param>
 /// <returns>builder</returns>
 public TransferTokenBuilder SetSource(TransferEndpoint source)
 {
     payload.Transfer.Instructions.Source = source;
     return(this);
 }