using System.Collections.ObjectModel; using Entidades; using Modelo; namespace Controladora { public class ControladoraClientes : Singleton { public string Añadir(Cliente t) { if (t == null) { return "El Cliente es nulo, fallo la carga"; } // Verificar si el CUIT ya existe en el repositorio if (RepositorioClientes.Instance.ExistePorCuit(t.Cuit)) { return $"El Cliente con el CUIT {t.Cuit} ya existe"; } try { bool resultado = RepositorioClientes.Instance.Add(t); return resultado ? $"El Cliente con el CUIT {t.Cuit} se cargó correctamente" : $"Falló la carga del Cliente con el CUIT {t.Cuit}"; } catch (Exception ex) { // Captura cualquier excepción no prevista return $"Ocurrió un error inesperado: {ex.Message}"; } } public string Eliminar(long cuit) { // Buscar el cliente por CUIT antes de eliminar var cliente = RepositorioClientes.Instance.Listar().FirstOrDefault(x => x.Cuit == cuit); if (cliente == null) return "El Cliente no existe"; return (RepositorioClientes.Instance.Del(cliente)) ? $"El Cliente {cliente.Nombre} se eliminó correctamente" : $"Falló la eliminación del Cliente con el CUIT {cuit}"; } public string Modificar(Cliente t) { if (t == null) return "El Cliente es nulo, fallo la carga"; return (RepositorioClientes.Instance.Mod(t)) ? $"El Cliente con el CUIT {t.Cuit} se modificó correctamente" : $"Falló la modificación del Cliente con el CUIT {t.Cuit}"; } public ReadOnlyCollection Listar() { return RepositorioClientes.Instance.Listar(); } } }