Files
Final_Das/Modelo/RepositorioPresupuesto.cs

102 lines
2.8 KiB
C#

using System.Collections.ObjectModel;
using Entidades;
namespace Modelo
{
public sealed class RepositorioPresupuesto : RepositorioBase<Presupuesto, RepositorioPresupuesto>
{
override public bool Add(Presupuesto t)
{
bool ret = false;
try
{
// Verifica si ya existe un presupuesto con el mismo ID
if (!ExistePorId(t.Id))
{
almacen.Add(t);
ret = true;
}
}
catch (Exception ex)
{
// Maneja o registra la excepción
Console.WriteLine($"Error al agregar presupuesto: {ex.Message}");
}
return ret;
}
override public bool Mod(Presupuesto t)
{
bool ret = false;
try
{
var presupuestoAModificar = almacen.FindIndex(x => x.Id == t.Id);
if (presupuestoAModificar > -1)
{
almacen[presupuestoAModificar] = t;
ret = true;
}
}
catch (Exception ex)
{
// Maneja o registra la excepción
Console.WriteLine($"Error al modificar presupuesto: {ex.Message}");
}
return ret;
}
public bool ExistePorId(int id)
{
// Asegúrate de que `almacen` es la lista correcta
return almacen.Any(p => p.Id == id);
}
public bool AceptarPresupuesto(Presupuesto t)
{
bool ret = false;
try
{
var presupuestoAModificar = almacen.FindIndex(x => x.Id == t.Id);
almacen[presupuestoAModificar].Aceptado = true;
ret = true;
}
catch (Exception ex)
{
// Maneja o registra la excepción
Console.WriteLine($"Error al modificar presupuesto: {ex.Message}");
}
return ret;
}
override public bool Del(Presupuesto t)
{
bool ret = false;
try
{
var presupuestoAEliminar = almacen.Find(x => x.Id == t.Id);
if (presupuestoAEliminar != null)
{
presupuestoAEliminar.Habilitado = false;
ret = true;
}
}
catch (Exception ex)
{
// Maneja o registra la excepción
Console.WriteLine($"Error al eliminar presupuesto: {ex.Message}");
}
return ret;
}
public ReadOnlyCollection<DetallePresupuesto> MostrarDetalles(Presupuesto presupuesto)
{
return presupuesto.MostrarDetalles();
}
}
}