Files
Alessio Dal Santo 65ed2bb93a Implementato sistema robusto di salvataggio/caricamento profili Data Coupler
- Aggiunto metodo GetCredentialIdByNameAsync in CredentialService per recuperare ID credenziali per nome
- Implementata gestione robusta dei profili duplicati con riattivazione, sovrascrittura e auto-rinomina
- Migliorata logica di caricamento profili con simulazione workflow utente e logging dettagliato
- Fixata gestione errori UNIQUE constraint nel salvataggio profili
- Aggiunto supporto per salvataggio ID credenziali reali invece di placeholder
- Implementato metodo GetProfileByNameIncludingInactiveAsync per gestire profili inattivi
- Aggiunto logging esteso per debug e troubleshooting
- Integrato componente ProfileSaver nella UI principale
- Risolti errori di compilazione e validazione build completa
- Migliorata gestione errori con feedback utente per credenziali/entità mancanti
2025-07-03 16:30:57 +02:00

55 lines
1.5 KiB
C#

using CredentialManager.Models;
namespace CredentialManager.Services;
/// <summary>
/// Interfaccia per il servizio di gestione dei profili Data Coupler
/// </summary>
public interface IDataCouplerProfileService
{
/// <summary>
/// Ottiene tutti i profili attivi
/// </summary>
Task<IEnumerable<DataCouplerProfile>> GetAllProfilesAsync();
/// <summary>
/// Ottiene tutti i profili per nome (inclusi quelli inattivi)
/// </summary>
Task<DataCouplerProfile?> GetProfileByNameIncludingInactiveAsync(string name);
/// <summary>
/// Ottiene un profilo per ID
/// </summary>
Task<DataCouplerProfile?> GetProfileByIdAsync(int id);
/// <summary>
/// Ottiene un profilo per nome
/// </summary>
Task<DataCouplerProfile?> GetProfileByNameAsync(string name);
/// <summary>
/// Salva un nuovo profilo
/// </summary>
Task<DataCouplerProfile> SaveProfileAsync(DataCouplerProfile profile);
/// <summary>
/// Aggiorna un profilo esistente
/// </summary>
Task<DataCouplerProfile> UpdateProfileAsync(DataCouplerProfile profile);
/// <summary>
/// Elimina un profilo
/// </summary>
Task<bool> DeleteProfileAsync(int id);
/// <summary>
/// Aggiorna la data di ultimo utilizzo di un profilo
/// </summary>
Task UpdateLastUsedAsync(int id);
/// <summary>
/// Verifica se esiste un profilo con il nome specificato
/// </summary>
Task<bool> ProfileExistsAsync(string name, int? excludeId = null);
}