namespace Modelo
{
    public class RepositorioProductos : IRepositorio<Producto>
    {
        //Contructor Privado
        private RepositorioProductos()
        {
            almacen = new List<Producto>;
        }

        // Singleton
        private static RepositorioProductos instancia;
        public static RepositorioProductos Instancia
        {
            get
            {
                if (instancia == null) instancia = new RepositorioProductos();
                return instancia;
            }
        }

        public bool Add(Producto t)
        {
            bool ret;

            try
            {
                almacen.add(t);
                ret = true;
            }
            catch (Exception e)
            {
                throw;
            }

            return ret;
        }

        public bool Mod(Producto t)
        {
            bool ret;

            try
            {
                var AModificar = almacen.Find(x => x.Id == t.Id);
                AModificar = t;
                ret = true;
            }
            catch (Exception e)
            {
                throw;
            }

            return ret;
        }

        public bool Del(Producto t)
        {
            bool ret;

            try
            {
                var AEliminar = almacen.Find(x => x.Id == t.Id);
                almacen.remove(AEliminar);
                ret = true;
            }
            catch (Exception e)
            {
                throw;
            }

            return ret;
        }
    }
}
