// Fomm1.cs (CIOdm_parser.Form1)

// 11/01/10 Version 0.2
// 11/01/10 NC [fr] Corrigé GTIN() pour inclure la clé
//             [en] Fixed GTIN() for including the key
// 11/01/10 NC [fr] Modifié Variante() et Lot() pour supporter GS1-128 01.17.30.10
//             [en] Modified Variante() and Lot() for supporting GS1-128 01.17.30.10
// 12/01/10 NC [fr] Corrigé Date() pour supporter la variante GS1-128 01
//             [en] Fixed Date() for supporting variant GS1-128 01

// 12/02/10 Version 0.3
// 12/02/10 NC [fr] Testé Variante() pour toutes les variantes d'HIBC (sauf +$+ et suivantes)
//             [en] Tested Variante() for all the variants of HIBC (except +$+ and following ones)

// 23/02/10 Version 0.4
// 23/02/10 NC [fr] Intégré la contribution de l'équipe chinoise concernant le calcul de la date "normale"
//             [en] Integrated the contribution from the chineese team concerning the calculation of the "normal" date

// 24/02/10 Version 0.5
// 24/02/10 NC [fr] Modifié Variante() et Lot() pour supporter GS1-128 01.17.30.10 avec 30 de longueur 4
//             [en] Modified Variante() and Lot() for supporting GS1-128 01.17.30.10 with a length of 4 for 30
// 24/02/10 NC [fr] Modifié Date(), Lot() et GetDateType() pour supporter HIBC Secondary.N avec numéro de lot
//             [en] Modified Date(), Lot() and GetDateType() for supporting HIBC Secondary.N with lot number
// 24/02/10 NC [fr] Supporté les variantes GS1-128 10 et 10.17
//             [en] Supported variants GS1-128 10 and 10.17

// 04/06/10 Version 0.6
// 04/06/10 NC [fr] Déplacé les fonctions de parsing vers une DLL
//             [en] Moved the parsing functions to a DLL

// 07/09/10 Version 0.9
// 07/09/10 NC [fr] Ajouté une fonction Reference
//             [en] Added a "Reference" function

// 30/11/10 Version 0.12
// 30/11/10 DU [fr] Ajouté une fonction HIBC Unit of Measure
//             [en] Added a HIBC Unit of Measure function

// [fr] Voir aussi les commentaires dans Parser_functions.cs (CIOdm_Parser_functions.Parser_functions)
// [en] See also comments in Parser_functions.cs (CIOdm_Parser_functions.Parser_functions)

using System;
using System.Windows.Forms;
using System.Globalization;
using CIOdm_Parser_functions;

namespace CIOdm_Parser
{
  public partial class Form1 : Form
  {
    public Form1()
    {
      InitializeComponent();
    }

    private void Parse(object sender, EventArgs e)
    {
      Parser_functions Parser = new Parser_functions();
      string code = textBoxCode.Text;
      string type = Parser.Type(code);
      string variante = Parser.Variante(code, type);
      textBoxType.Text = type;
      textBoxVariante.Text = variante;
      textBoxEntreprise.Text = Parser.Entreprise(code, type);
      textBoxProduit.Text = Parser.Produit(code, type);
      textBoxGTIN.Text = Parser.GTIN(code, type, variante);
      textBoxLIC.Text = Parser.LIC(code, type, variante);
      textBoxPCN.Text = Parser.PCN(code, type, variante);
      textBoxUoM.Text = Parser.UoM(code, type, variante);
      textBoxLot.Text = Parser.Lot(code, type, variante);
      textBoxDateBrute.Text = Parser.DateBrute(code, type, variante);
      textBoxDateNormale.Text = Parser.DateNormale(code, type, variante);
      textBoxReference.Text = Parser.Reference(code, type, variante);
    }

    private void textBoxCode_TextChanged(object sender, EventArgs e)
    {
      textBoxType.Clear();
      textBoxVariante.Clear();
      textBoxEntreprise.Clear();
      textBoxProduit.Clear();
      textBoxGTIN.Clear();
      textBoxLIC.Clear();
      textBoxPCN.Clear();
      textBoxUoM.Clear();
      textBoxLot.Clear();
      textBoxDateBrute.Clear();
      textBoxDateNormale.Clear();
      textBoxReference.Clear();
    }

  }
}
