예제 #1
0
 public static HistoryEntry MapFrom(ICashInOutOperation source)
 {
     return(new HistoryEntry
     {
         Id = source.Id,
         ClientId = source.ClientId,
         Currency = source.AssetId,
         DateTime = source.DateTime,
         OpType = "CashInOut",
         Amount = source.Amount,
         CustomData = JsonConvert.SerializeObject(source),
         FeeSize = source.FeeSize,
         FeeType = source.FeeType.ToString()
     });
 }
        public async Task <string> RegisterAsync(ICashInOutOperation operation)
        {
            var newItem    = CashInOutOperationEntity.ByClientId.Create(operation);
            var byMultisig = CashInOutOperationEntity.ByMultisig.Create(operation);
            await _tableStorage.InsertAsync(newItem);

            await _tableStorage.InsertAsync(byMultisig);

            if (!string.IsNullOrEmpty(operation.BlockChainHash))
            {
                var indexEntity = AzureIndex.Create(operation.BlockChainHash, newItem.Id, newItem);
                await _blockChainHashIndices.InsertAsync(indexEntity);
            }

            return(newItem.Id);
        }
 public static CashInOutOperationEntity Create(ICashInOutOperation src)
 {
     return(new CashInOutOperationEntity
     {
         PartitionKey = GeneratePartitionKey(src.ClientId),
         RowKey = GenerateRowKey(src.Id),
         DateTime = src.DateTime,
         AssetId = src.AssetId,
         Amount = src.Amount,
         BlockChainHash = src.BlockChainHash,
         IsHidden = src.IsHidden,
         IsRefund = src.IsRefund,
         AddressFrom = src.AddressFrom,
         AddressTo = src.AddressTo,
         Multisig = src.Multisig,
         ClientId = src.ClientId,
         IsSettled = src.IsSettled,
         Type = src.Type,
         TransactionId = src.TransactionId
     });
 }