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

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

            return (RepositorioClientes.Instance.Add(t)) ? 
                $"El Cliente {t.Nombre} se cargo correctamente":
                $"Fallo la carga del Cliente {t.Nombre}"; 
        }

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

            return (RepositorioClientes.Instance.Del(t)) ? 
                $"El Cliente {t.Nombre} se Elimino correctamente":
                $"Fallo la Eliminacion del Cliente {t.Nombre}";         
        }

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

            return (RepositorioClientes.Instance.Mod(t)) ? 
                $"El Cliente {t.Nombre} se Modifico correctamente":
                $"Fallo la Modificacion del Cliente {t.Nombre}";    
        }

        public override ReadOnlyCollection<Cliente> Listar()
        {
            return RepositorioClientes.Instance.Listar();
        }
    }
}