Ejemplo n.º 1
0
        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)));
 }
Ejemplo n.º 3
0
 public async Task InsertOrReplaceAsync(IExternalOrderReport report)
 {
     await Task.WhenAll(_repositories.Select(repo => repo.InsertOrReplaceAsync(report)));
 }