using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

namespace WebApplication1.Repositories.ArticleCommerceRepository {
  public abstract class ArticleCommerceRepositoryBase : IDisposable {
    public abstract IList<ArticleCommerce> ListerStock();
    public abstract IList<ArticleCommerce> ListerCaddie();
    public abstract ArticleCommerce AjouterAuCaddie( Guid articleCommerceId );
    public abstract void ViderCaddie();
    private bool Disposed = false;
    protected virtual void Dispose( bool objetsGeresEgalement ) {
      if( Disposed )
        return;
      if( objetsGeresEgalement ) {
        // Cas TRÈS particulier : rien à jeter dans ce repository de base !
      }
      // Libération des non-gérés : Rien
      Disposed = true;
    }
    public void Dispose() {
      Dispose( true );
      GC.SuppressFinalize( this ); // Les types dérivés n'auront qu'à overrider Dispose(bool)
    }
  }
}