Files
Final_Das/Controladora/ControladoraFacturas.cs
2024-08-11 18:23:17 -03:00

62 lines
2.0 KiB
C#

using System.Collections.ObjectModel;
using Entidades;
using Modelo;
namespace Controladora
{
public class ControladoraFacturas : Singleton<ControladoraFacturas>
{
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<Factura> Listar()
{
return RepositorioFactura.Instance.Listar();
}
}
}