public async Task InsertOrReplaceAsync(IAccountsReport report) { foreach (var item in _repositories) { await item.InsertOrReplaceAsync(report); } }
public async Task InsertOrReplaceAsync(IAccountsReport report) { using (var conn = new SqlConnection(_settings.Db.ReportsSqlConnString)) { var res = conn.ExecuteScalar($"select Id from {TableName} where Id = '{report.Id}'"); string query; if (res == null) { query = $"insert into {TableName} " + "(Id, Date, TakerCounterpartyId, TakerAccountId, BaseAssetId, IsLive, LegalEntity) " + " values " + "(@Id, @Date, @TakerCounterpartyId, @TakerAccountId, @BaseAssetId, @IsLive, @LegalEntity)"; } else { query = $"update {TableName} set " + "Date=@Date, TakerCounterpartyId=@TakerCounterpartyId, TakerAccountId=@TakerAccountId, " + "BaseAssetId=@BaseAssetId, IsLive=@IsLive, LegalEntity=@LegalEntity " + " where Id=@Id"; } try { await conn.ExecuteAsync(query, report); } catch (Exception ex) { var msg = $"Error {ex.Message} \n" + "Entity <IAccountsReport>: \n" + report.ToJson(); await _log?.WriteWarningAsync("AccountsReportsSqlRepository", "InsertOrReplaceAsync", null, msg); throw new Exception(msg);; } } }
public static AccountsReport ToDto(this IAccountsReport src) { return(new AccountsReport { BaseAssetId = src.BaseAssetId, Date = src.Date, Id = src.Id, IsLive = src.IsLive, TakerAccountId = src.TakerAccountId, TakerCounterpartyId = src.TakerCounterpartyId }); }
public Task InsertOrReplaceAsync(IAccountsReport report) { return(_tableStorage.InsertOrReplaceAsync(AccountsReportEntity.Create(report))); }