102 lines
2.8 KiB
C#
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();
|
|
}
|
|
}
|
|
} |