Ejemplo n.º 1
0
            public static CashoutAttemptEntity Create <T>(ICashoutRequest request, PaymentSystem paymentSystem,
                                                          T paymentFields, CashoutRequestTradeSystem tradeSystem)
            {
                var entity = CreateEntity(request, paymentSystem, paymentFields, tradeSystem);

                entity.PartitionKey = GeneratePartition();

                return(entity);
            }
Ejemplo n.º 2
0
            public static CashoutAttemptEntity Create <T>(string id, ICashoutRequest request, PaymentSystem paymentSystem, T paymentFields, CashoutRequestTradeSystem tradeSystem)
            {
                var entity = CreateEntity(request, paymentSystem, paymentFields, tradeSystem);

                entity.PartitionKey = GeneratePartition(request.ClientId);
                entity.RowKey       = GenerateRowKey(id);
                entity.Status       = request.Status;
                entity.PreviousId   = request.PreviousId;

                return(entity);
            }
Ejemplo n.º 3
0
        public static CashoutAttemptEntity CreateEntity <T>(ICashoutRequest request, PaymentSystem paymentSystem, T paymentFields, CashoutRequestTradeSystem tradeSystem)
        {
            var dt = DateTime.UtcNow;

            return(new CashoutAttemptEntity
            {
                AssetId = request.AssetId,
                Amount = request.Amount,
                FeeSize = request.FeeSize,
                ClientId = request.ClientId,
                PaymentSystem = paymentSystem,
                PaymentFields = paymentFields.ToJson(),
                DateTime = dt,
                State = request.State,
                TradeSystem = tradeSystem.ToString(),
                AccountId = request.AccountId,
                VolumeSize = request.VolumeSize
            });
        }
Ejemplo n.º 4
0
        public Task <bool> TryInsertAsync <T>(string id, ICashoutRequest request, PaymentSystem paymentSystem, T paymentFields, CashoutRequestTradeSystem tradeSystem)
        {
            var entity = CashoutAttemptEntity.PendingRecords.Create(id, request, paymentSystem, paymentFields, tradeSystem);

            return(_tableStorage.TryInsertAsync(entity));
        }