using System;

namespace DiversDemos {

  class Program {
    static dynamic MonSac = new EtendableInsensibleALaCasse();
    static void Main( string[] args ) {
      MonSac.TRUC = "Oh... J'ai un gros truc dans mon sac !";
      Console.WriteLine( MonSac.truc );

      var proxy = new ExempleProductsWebApiClientDotNet();
      var produitsDispo = proxy.ListerProduits();
      foreach( var p in produitsDispo ) {
        Console.WriteLine( "{0,4} - {1}", p.ProductId, p.ProductName );
      }
      Console.WriteLine();
      Console.WriteLine("Produit N°1 :");
      var p1 = proxy.LireProduit( 1 );
      Console.WriteLine("{0} {1}\n{2} ({3})\n{4:0.00} x {5}", p1.ProductID, p1.ProductName, p1.CategoryName, p1.Description, p1.UnitPrice ?? 0, p1.UnitsInStock ?? 0 );
      Console.WriteLine();
      Console.WriteLine("Ajout du produit test :");
      var nv = new ProduitDeListe() { ProductName = "Test" };
      var uri = proxy.AjouterProduit( nv );
      Console.WriteLine( "  Le nouveau produit porte l'id {0}", nv.ProductId );
      Console.WriteLine( "  Il est disponible ici : {0}", uri );
    }
  }

}
