65ed2bb93a
- 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
55 lines
1.5 KiB
C#
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);
|
|
}
|