public void Sync(Model.Prestashop.idorder Order)
        {
            this.Semaphore.WaitOne();

            try
            {
                Model.Prestashop.PsOrdersRepository PsOrdersRepository = new Model.Prestashop.PsOrdersRepository();
                Model.Prestashop.PsOrders           PsOrders           = PsOrdersRepository.ReadOrder((int)Order.id_order);

                Core.Sync.SynchronisationCommande SynchronisationCommande = new Core.Sync.SynchronisationCommande();
                SynchronisationCommande.ExecLocalToDistant(PsOrders, PsOrdersRepository);
                PsOrders           = null;
                PsOrdersRepository = null;
            }
            catch (Exception ex)
            {
                Core.Error.SendMailError(ex.ToString());
            }
            lock (this)
            {
                this.CurrentCount += 1;
            }

            this.ReportProgress(this.CurrentCount * 100 / this.ListCount);
            this.Semaphore.Release();
        }