fix: Risolto errore "Invalid object name" nel trasferimento dati e pulizia codice
- Modificato GetAllRecordsAsync per utilizzare la stessa connection string del discovery schema - Aggiunto metodo CreateConnection per creare connessioni DB appropriate per tipo - Migliorata gestione nomi tabelle con schema (es. "dbo.OCRD") - Rimossi metodi obsoleti di creazione entità (UpdateEntityData, CreateNewEntity) - Eliminati riferimenti a variabili non dichiarate (newEntityData, isCreatingEntity) - Aggiunto logging debug per connection string e query SQL - Completata implementazione trasferimento dati da database a REST API Il trasferimento dati ora utilizza la stessa connessione per discovery e estrazione, risolvendo problemi di accesso alle tabelle durante l'operazione di upsert.
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Threading.Tasks;
|
||||
using System.Threading;
|
||||
|
||||
namespace DataConnection.REST.Interfaces
|
||||
{
|
||||
@@ -8,6 +9,14 @@ namespace DataConnection.REST.Interfaces
|
||||
/// </summary>
|
||||
public interface IRestServiceClient
|
||||
{
|
||||
/// <summary>
|
||||
/// Authenticates the client using the provided credentials.
|
||||
/// Implementation varies by service type.
|
||||
/// </summary>
|
||||
/// <param name="cancellationToken">Cancellation token.</param>
|
||||
/// <returns>True if authentication was successful, false otherwise.</returns>
|
||||
Task<bool> AuthenticateAsync(CancellationToken cancellationToken = default);
|
||||
|
||||
/// <summary>
|
||||
/// Sends a GET request to the specified URI.
|
||||
/// </summary>
|
||||
@@ -26,9 +35,7 @@ namespace DataConnection.REST.Interfaces
|
||||
/// <param name="payload">The HTTP request content sent to the server.</param>
|
||||
/// <param name="cancellationToken">Cancellation token.</param>
|
||||
/// <returns>The deserialized response content.</returns>
|
||||
Task<TResponse?> PostAsync<TRequest, TResponse>(string requestUri, TRequest payload, CancellationToken cancellationToken = default);
|
||||
|
||||
/// <summary>
|
||||
Task<TResponse?> PostAsync<TRequest, TResponse>(string requestUri, TRequest payload, CancellationToken cancellationToken = default); /// <summary>
|
||||
/// Creates a new entity by sending a POST request with the provided data.
|
||||
/// </summary>
|
||||
/// <param name="entityName">The name of the entity to create.</param>
|
||||
@@ -37,6 +44,15 @@ namespace DataConnection.REST.Interfaces
|
||||
/// <returns>The created entity data or null if creation failed.</returns>
|
||||
Task<Dictionary<string, object>?> CreateEntityAsync(string entityName, Dictionary<string, object> entityData, CancellationToken cancellationToken = default);
|
||||
|
||||
/// <summary>
|
||||
/// Creates a new entity or updates an existing one (upsert operation).
|
||||
/// </summary>
|
||||
/// <param name="entityName">The name of the entity to upsert.</param>
|
||||
/// <param name="entityData">The data for the entity as key-value pairs.</param>
|
||||
/// <param name="cancellationToken">Cancellation token.</param>
|
||||
/// <returns>The upserted entity data or null if operation failed.</returns>
|
||||
Task<Dictionary<string, object>?> UpsertEntityAsync(string entityName, Dictionary<string, object> entityData, CancellationToken cancellationToken = default);
|
||||
|
||||
// Add other methods as needed (PUT, DELETE, PATCH, etc.)
|
||||
// Consider adding methods for handling raw HttpResponseMessage or string responses
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user