using System.Collections.ObjectModel;
using Entidades;
using Modelo;

namespace Controladora
{
    class ControladoraPresupuestos : ControladoraBase<Presupuesto, ControladoraPresupuestos>
    {
        public override string Añadir(Presupuesto t)
        {
            if (t == null) return "El Presupuesto es nulo fallo la carga";

            return (RepositorioPresupuesto.Instance.Add(t)) ? 
                $"El Presupuesto {t.Id} se cargo correctamente":
                $"Fallo la carga del Presupuesto {t.Id}"; 
        }

        override public string Eliminar(Presupuesto t)
        {
           if (t == null) return "El Presupuesto es nulo fallo la carga";

            return (RepositorioPresupuesto.Instance.Del(t)) ? 
                $"El Presupuesto {t.Id} se Elimino correctamente":
                $"Fallo la Eliminacion del Presupuesto {t.Id}";         
        }

        override public string Modificar(Presupuesto t)
        {
            if (t == null) return "El Presupuesto es nulo fallo la carga";

            return (RepositorioPresupuesto.Instance.Mod(t)) ? 
                $"El Presupuesto {t.Id} se Modifico correctamente":
                $"Fallo la Modificacion del Presupuesto {t.Id}";    
        }

        public override ReadOnlyCollection<Presupuesto> Listar()
        {
            return RepositorioPresupuesto.Instance.Listar();
        }
    }
}
