public async Task InsertOrReplaceAsync(IExternalOrderReport obj) { var entity = ExternalOrderReportEntity.Create(obj); using (var conn = new SqlConnection(_appSettings.Db.ReportsSqlConnString)) { try { try { await conn.ExecuteAsync( $"insert into {TableName} ({GetColumns}) values ({GetFields})", entity); } catch (SqlException) { await conn.ExecuteAsync( $"update {TableName} set {GetUpdateClause} where Id=@Id", entity); } } catch (Exception ex) { var msg = $"Error {ex.Message} \n" + "Entity <ExternalOrderReportEntity>: \n" + entity.ToJson(); await _log?.WriteWarningAsync("ExternalOrderReportSqlRepository", "InsertOrReplaceAsync", null, msg); throw new Exception(msg); } } }
public Task InsertOrReplaceAsync(IExternalOrderReport entity) { return(_tableStorage.InsertOrReplaceAsync(ExternalOrderReportEntity.Create(entity))); }
public async Task InsertOrReplaceAsync(IExternalOrderReport report) { await Task.WhenAll(_repositories.Select(repo => repo.InsertOrReplaceAsync(report))); }