using System.Collections.ObjectModel; using Entidades; using Modelo; namespace Controladora { public class ControladoraFacturas : Singleton { public string Añadir(Factura t) { if (t == null) return "La Factura es nula, fallo la carga"; if (RepositorioFactura.Instance.ExistePorId(t.Id)) { return $"La Factura con el ID {t.Id} ya existe"; } // Verificar si el cliente está seleccionado if (t.Cliente == null || t.Cliente.Cuit == 0) { return "Debe seleccionar un cliente antes de agregar la factura"; } try { bool resultado = RepositorioFactura.Instance.Add(t); return resultado ? $"La Factura con el ID {t.Id} se cargó correctamente" : $"Falló la carga de la Factura con el ID {t.Id}"; } catch (Exception ex) { // Captura cualquier excepción no prevista return $"Ocurrió un error inesperado: {ex.Message}"; } } public string Eliminar(Factura t) { if (t == null) return "La Factura es nula, fallo la carga"; return (RepositorioFactura.Instance.Del(t)) ? $"La Factura con el ID {t.Id} se eliminó correctamente" : $"Falló la eliminación de la Factura con el ID {t.Id}"; } public string Modificar(Factura t) { if (t == null) return "La Factura es nula, fallo la carga"; return (RepositorioFactura.Instance.Mod(t)) ? $"La Factura con el ID {t.Id} se modificó correctamente" : $"Falló la modificación de la Factura con el ID {t.Id}"; } public ReadOnlyCollection Listar() { return RepositorioFactura.Instance.Listar(); } } }