using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using System.Data.SqlClient;
using System.Windows.Forms;
using MercatorApi;
using MercatorExtensions;
using MercatorUi;

namespace Billing
{
    public class Customizer : MercatorUi.ICustomizers.IBillingEngineCreated, MercatorUi.ICustomizers.IBillingEngineClosed
    {
        public void BillingEngineCreated(MercatorUi.Engine.Gescom.BillingEngine BillingEngine)
        {
            BillingEngine.AfterSave += BillingEngine_AfterSave;
        }

        public void BillingEngineClosed(MercatorUi.Engine.Gescom.BillingEngine BillingEngine)
        {
            BillingEngine.AfterSave -= BillingEngine_AfterSave;
        }

        void BillingEngine_AfterSave(object sender, EventArgs e)
        {
            if (Api.IsWeb)
            {
                MercatorUi.Engine.Gescom.BillingEngine billingEngine = (MercatorUi.Engine.Gescom.BillingEngine)sender;
                var dicoParams = new Dictionary<string, object>
                {
                    { "@id", billingEngine.Id },
                    { "@journal", billingEngine.Journal },
                    { "@piece", billingEngine.Piece }
                };
                MercatorPenguin.NotificationClient.SendAsync("Nieuwe bestelling web - € " + billingEngine.PiedsVRecord.TOT_TTC_DV.ToString("### ##0.00") + " BTW Incl. !", "d4719813-884b-43b1-96fb-9d80aec7ab66", dicoParams);
            }
        }
    }
}