Exemple #1
0
 public static AccountMarginEventEntity Create(IAccountMarginEvent src)
 {
     return(new AccountMarginEventEntity
     {
         Id = src.Id,
         AccountId = src.AccountId,
         Balance = src.Balance,
         BaseAssetId = src.BaseAssetId,
         EventId = src.EventId,
         EventTime = src.EventTime,
         FreeMargin = src.FreeMargin,
         IsEventStopout = src.IsEventStopout,
         EventType = src.EventType.ToString(),
         MarginAvailable = src.MarginAvailable,
         MarginCall = src.MarginCall,
         MarginInit = src.MarginInit,
         MarginUsageLevel = src.MarginUsageLevel,
         OpenPositionsCount = src.OpenPositionsCount,
         PnL = src.PnL,
         StopOut = src.StopOut,
         TotalCapital = src.TotalCapital,
         TradingConditionId = src.TradingConditionId,
         UsedMargin = src.UsedMargin,
         WithdrawTransferLimit = src.WithdrawTransferLimit
     });
 }
Exemple #2
0
        public async Task InsertOrReplaceAsync(IAccountMarginEvent report)
        {
            using (var conn = new SqlConnection(_settings.Db.ConnString))
            {
                try
                {
                    await conn.ExecuteAsync(
                        $"insert into {TableName} ({GetColumns}) values ({GetFields})",
                        AccountMarginEventEntity.Create(report));
                }
                catch (Exception ex)
                {
                    var msg = $"Error {ex.Message} \n" +
                              $"Entity <{nameof(IAccountMarginEvent)}>: \n" +
                              report.ToJson();
                    await _log?.WriteWarningAsync(nameof(AccountMarginEventsSqlRepository), "InsertOrReplaceAsync",
                                                  null, msg);

                    throw new Exception(msg);
                }
            }
        }
 public Task InsertOrReplaceAsync(IAccountMarginEvent entity)
 {
     return(_tableStorage.InsertOrReplaceAsync(AccountMarginEventEntity.Create(entity)));
 }